一个可执行程序包含三个部分
代码段:主要存放指令,操作以及只读的(常量)数据(例如字符串常量)。数据段:全局或者静态的已经初始化的变量。BSS 段:全局或者静态的未初始化的变量。栈上面有1G内存时Linux内核区,与栈之间有一个gap随机地址,防止代码***。数据区data与堆区之间也有一个随机gap。
本文共 199 字,大约阅读时间需要 1 分钟。
一个可执行程序包含三个部分
代码段:主要存放指令,操作以及只读的(常量)数据(例如字符串常量)。数据段:全局或者静态的已经初始化的变量。BSS 段:全局或者静态的未初始化的变量。栈上面有1G内存时Linux内核区,与栈之间有一个gap随机地址,防止代码***。数据区data与堆区之间也有一个随机gap。
转载于:https://blog.51cto.com/11537662/1930594