程序的 内存布局
来源:互联网 发布:数控切割机床软件 编辑:程序博客网 时间:2024/05/23 10:03
.out文件,可执行程序的布局:
文件的布局 和 进程的地址布局 的比较:
栈和堆要等到程序运行时,由系统来分配空间。
各个段的作用:
- 堆栈段在程序运行后才正式存在,是程序运行的基础,main函数也用到栈,因此堆栈要先建立。
- .bss段存放的是未初始化的全局变量和静态变量。把未初始化的放在一起,清0比较方便。
- .text段存放的是程序中的可执行代码。
- .data段保存的是那些已经初始化了的全局变量和静态变量,值要写到内存里。
- .rodata段存放程序中的常量值,只读数据段,如字符串常量。因此指向字符串常量的指针,不能通过该指针修改字符串的内容。
静态存储区就是 .bss段 和 .data段
只读区通常指程序中的.rodata段
局部变量所占空间为栈空间
动态内存空间为堆中的空间
程序可执行代码存放于.text段
函数的地址对应程序的代码段.text段。函数体的代码位于代码段,运行代码段的过程中,函数中的局部变量在栈空间中,通过指针来读出变量,供代码使用。
0 0
- 程序的内存布局
- 程序的内存布局
- 程序的内存布局
- 程序的内存布局
- 程序的 内存布局
- 程序的内存布局
- 程序的内存布局
- 程序的内存布局
- 程序的内存布局
- 剖析程序的内存布局
- 剖析程序的内存布局
- 剖析程序的内存布局
- 剖析程序的内存布局
- 剖析程序的内存布局
- 剖析程序的内存布局
- 剖析程序的内存布局
- 剖析程序的内存布局
- 剖析程序的内存布局
- TCP TIME_WAIT过多的解决方法
- JavaScript练习之删除记录
- Java23种设计模式
- C# 数组、ArrayList、List、Dictionary的用法与区别
- 在源列表 /etc/apt/sources.list.d/google-chrome.list 中第 1 行有误 (类型) E: 无法读取源列表。
- 程序的 内存布局
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- 寒假篇22
- 风再起时-------2016年终总结
- 泛型作用
- 统计学9
- stm32串口通信---飞控应用
- js高级程序设计笔记--Ajax与comet
- 微信小程序的五大特征(五)