通过小代码体验程序中BSS段和DATA段的差异
2015-05-20 22:20
267 查看
原文地址:通过小代码体验程序中BSS段和DATA段的差异 作者:Aquester
BSS(Block Started by Symbol)用来存储未初始化的全局变量,值为0的通常会被编译器认为未初始化,属于静态内存分配区,不会占用程序文件空间
DATA
用来存储已经初始化的全局变量,也属于静态内存分配区,会占用程序文件空间
TEXT
代码段,存储程序执行的代码指令,会占用程序文件空间
代码一:
int a[1024*1024*10] = {0};
int main() { return 0; }
代码二:
int a[1024*1024*10] = {1};
int main() { return 0; }
使用同样的编译上段两段代码,可以观察到文件大小相差很大,代码二会将数组a算进去。
注:原发表在Hadoop技术论坛 |
DATA
用来存储已经初始化的全局变量,也属于静态内存分配区,会占用程序文件空间
TEXT
代码段,存储程序执行的代码指令,会占用程序文件空间
代码一:
int a[1024*1024*10] = {0};
int main() { return 0; }
代码二:
int a[1024*1024*10] = {1};
int main() { return 0; }
使用同样的编译上段两段代码,可以观察到文件大小相差很大,代码二会将数组a算进去。
相关文章推荐
- 通过小代码体验程序中BSS段和DATA段的差异
- 通过小代码体验程序中BSS段和DATA段的差异
- 通过简单的Linux内核启动程序代码窥探操作系统的启动原理
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 编写高质量代码改善C#程序的157个建议——建议115:通过HASH来验证文件是否被篡改
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- VB6.0新手入门代码 通过点击button控件,退出程序
- 通过代码关闭程序
- 代码中函数、变量、常量 / bss段、data段、text段 /sct文件、.map文件的关系[实例分析arm代码(mdk)]
- 如何在微信公众帐号开发模式下,通过程序代码向用户发送符号表情。
- 模块和处理程序之通过HttpModule和HttpHandler拦截入站HTTP请求执行指定托管代码模块
- 测试时钟显示程序通过, 点阵显示 碰到一些困难 发现调试比写代码更纠结。代码没错 烧到板子里就是打不到想要的现象
- 通过汇编一个简单的C程序,分析汇编代码理解计算机工作原理
- 操作系统是如何工作的-------通过一个简单的时间片轮转多道程序内核代码分析
- OK6410通过串口下载程序关键代码,检测文件发送完毕方法及稳定发送要点
- 【hadoop2.6.0】通过代码运行程序流程
- 【matlab代码练习7】通过程序调整灰度图像的灰度范围
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 如何通过代码使程序最小化到任务栏
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的