一个可执行程序包含三个部分
代码段:主要存放指令,操作以及只读的(常量)数据(例如字符串常量)。
数据段:全局或者静态的已经初始化的变量。
BSS 段:全局或者静态的未初始化的变量。
栈上面有1G内存时Linux内核区,与栈之间有一个gap随机地址,防止代码攻击。数据区data与堆区之间也有一个随机gap。
时间: 2024-08-07 19:05:18
一个可执行程序包含三个部分
代码段:主要存放指令,操作以及只读的(常量)数据(例如字符串常量)。
数据段:全局或者静态的已经初始化的变量。
BSS 段:全局或者静态的未初始化的变量。
栈上面有1G内存时Linux内核区,与栈之间有一个gap随机地址,防止代码攻击。数据区data与堆区之间也有一个随机gap。