首页 > 代码库 > Linux 可执行文件与进程内存结构, Linux 进程内存加载

Linux 可执行文件与进程内存结构, Linux 进程内存加载

一个可执行程序包含三个部分

代码段:主要存放指令,操作以及只读的(常量)数据(例如字符串常量)。
数据段:全局或者静态的已经初始化的变量。
BSS 段:全局或者静态的未初始化的变量。

技术分享

栈上面有1G内存时Linux内核区,与栈之间有一个gap随机地址,防止代码攻击。数据区data与堆区之间也有一个随机gap。


Linux 可执行文件与进程内存结构, Linux 进程内存加载