原文地址:通過小代碼體驗程序中BSS段和DATA段的差異 作者:Aquester
注:原發表在Hadoop技術論壇 |
DATA
用來存儲已經初始化的全局變量,也屬於靜態內存分配區,會佔用程序文件空間
TEXT
代碼段,存儲程序執行的代碼指令,會佔用程序文件空間
代碼一:
int a[1024*1024*10] = {0};
int main() { return 0; }
代碼二:
int a[1024*1024*10] = {1};
int main() { return 0; }
使用同樣的編譯上段兩段代碼,可以觀察到文件大小相差很大,代碼二會將數組a算進去。