一个有C/C++编译的程序占用内存分为以下几个部分,
(1)全局区(静态区)(static)存放全局变量、静态数据,const常量。程序结束后由系统释放。
(2)栈取(stack)函数运行时分配,函数结束时释放。由编译器自动分配释放,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。其操作方式类似以数据结构中的栈。
(3)堆区(heap)一般由程序员分配释放,程序结束时可能由操作系统回收。分配方式类似于链表。
(4)程序代码区存放函数体(类成员函数和全局函数)的二进制代码。
C++程序内存布局
最新推荐文章于 2023-05-29 21:35:48 发布