在本文中,您将了解当一个进程调用execve()时,Linux内核内部发生了什么,内核如何准备栈,并且控制权如何传递给用户空间进程进行执行。
2025年03月26日
一直以来,没有接触过JNI,看到群里有人说:如何在C#调用JNI生成动态库中的函数.正好有时间就看看JNI是如何生成调用本地函数(.Net中叫非托管函数).
本地函数(Native Function): c或者c++的函数.
JNI(Java Native Interface):Java制定一些标准结构和接口,让c/c++做具体的函数实现,进而实现Java与c/c++语言的交互,在需要性能的时候,可以直接使用c/c++生成的动态库或者共享库.
2025年03月26日
每个在Linux环境下工作的程序员,都遇到过段错误(segmentation fault)。所谓段错误,本质上是程序访问了非法内存地址而引起的一种错误类型。
导致程序访问非法地址的原因有很多,如野指针、内存被踩、栈溢出、访问没有权限的内存等。
之前更新调试专题文章时,有朋友问到段错误的调试方法,我承诺会更新文章专门介绍,本文就是来填这个坑的。
本文将介绍9种非常实用的段错误调试方法。
2025年03月26日
问题起因:在服务器上部署了单个golang编写的HTTPDNS实例,一个固定的端口9981对外提供服务。
2025年03月26日
新手学习Linux最痛苦的事,就是背Linux命令。
如果不知道哪些命令是常用的,全部死记硬背的话,那就更痛苦了,今天给大家分享一下Linux中常用的61个命令解读!
包含:
2025年03月26日
转自《内核工匠》
本文主要描述了Linux系统上关于位置无关代码PIC,位置无关可执行程序PIE及地址空间布局随机化ASLR三个主要特性的原理及联系。第一部分首先介绍了应用程序地址空间的基础知识作为铺垫;第二部分重点讲解PIC的实现原理;第三部分简单介绍了PIE的概念;第四部分讲解ASLR和PIE如何配合工作,以实验的方式来说明二者的联系。
2025年03月26日
一、背景
这两天由于一些原因研究了研究如何在客户端C++代码中调用web服务端接口,需要访问url,并传入json数据,拿到返回值,并解析。