前述,对C++内存的管理存在一些疑问,今天偶然聊到,BSS段,DATA段,这些,有了新的理解。
linux下size命令可以查看程序的内存分配,分为text,BSS,DATA三个区,不包括堆栈区,可能是堆栈区运行的时候分配吧。
BSS(Block Started by Symbol),存放程序未初始化的全局变量/静态变量,初始化为0,包括在main外声明的全局变量,int a,静态变量,static int a,main内部的static int a;
DATA区存放着初始化的全局变量/静态变量,程序中初始化过的,Int a=9;,static int a=9;这类。
text就是代码区,存放二进制代码,此外,之前存疑的文字常量似乎也是存在此处的。