可执行程序有那些段

来源:互联网 发布:三联生活周刊 知乎 编辑:程序博客网 时间:2024/04/28 18:53
可执行程序包括BSS段、数据段、代码段(也称文本段)。
BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。
注意和数据段的区别,BSS存放的是未初始化的全局变量和静态变量,数据段存放的是初始化后的全局变量和静态变量。
       数据段:存放已初始化的全局变量和常量。
       代码段:存放可执行代码的二进制代码。
       堆段:由用户申请,比如:p =(char  *) new malloc(10),代码运行结束之后,由操作系统回收,但是在裸跑的单片机上这种操作是危险了,因为没有内存管理机制,很容易导致内存溢出。
       栈段:有计算机自动分配,存放函数的参数值局部变量等。
0 0
原创粉丝点击