通过小代码体验程序中BSS段和DATA段的差异
生活随笔
收集整理的這篇文章主要介紹了
通过小代码体验程序中BSS段和DATA段的差异
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
注:原發(fā)表在Hadoop技術(shù)論壇
?BSS(Block Started by Symbol)用來存儲未初始化的全局變量,值為0的通常會被編譯器認為未初始化,屬于靜態(tài)內(nèi)存分配區(qū),不會占用程序文件空間
DATA
用來存儲已經(jīng)初始化的全局變量,也屬于靜態(tài)內(nèi)存分配區(qū),會占用程序文件空間
TEXT
代碼段,存儲程序執(zhí)行的代碼指令,會占用程序文件空間
代碼一:
int a[1024*1024*10] = {0};
int main() { return 0; }
代碼二:
int a[1024*1024*10] = {1};
int main() { return 0; }
使用同樣的編譯上段兩段代碼,可以觀察到文件大小相差很大,代碼二會將數(shù)組a算進去。
轉(zhuǎn)載于:https://blog.51cto.com/mooon/910287
總結(jié)
以上是生活随笔為你收集整理的通过小代码体验程序中BSS段和DATA段的差异的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ using namespace
- 下一篇: Cacti 插件中setup.php 文