首先,来谈谈C++的5个存储区:
1.栈:是分配给函数局部变量的存储单元,函数结束后,该变量的存储单元自动释放,效率高,分配的空间有限。
2.堆:由new创建,由delete释放的动态内存单元。如果用户不释放该内存,程序结束时,系统会自动回收。
3.自由存储区:由malloc创建,由free释放的动态内存单元,与堆类似。
4.全局(静态)存储去:全局变量和静态变量占一块内存空间。
5.常量存储区:存储常量,内容不允许更改。
本文主要是来讨论栈和堆的区别,以及深入到C++汇编中来研究。先声明一下,以下的汇编都只是节选主程序的一块。
在linux下,编辑程序aaa.cpp,vim aaa.cpp
然后退出保存
<