static的變量都放在數據段,但是初始值若為0則放在BSS節中。而初始值非零則放在數據節中。
數據節和BSS節都屬於數據段。
順便說說對象的存儲,可分為三類:靜態存儲(static storage);自動存儲(automatic storage);動態分配存儲(allocated or dynamic storage)。
對於自動存儲則對應的是棧(stack),動態分配存儲對應的是堆(heap);靜態存儲可分為.bss/.data/.rodata等數據段(section)。
在程序執行中把初始值為零或者是未設初始值的變量放在.bss段中。
推薦一個readelf命令:
Linux命令學習手冊-readelf命令