編譯階段 完成靜態初始化。已初始化的靜態變量放在 .data 段,未初始化的放在 .bss 段(運行時由加載器清零)。
static int i;
static int j = 0x12345678;
gcc -c test_static.c -o test_static.oobjdump -t test_static.o
j 出現在 .data 段,值為 0x12345678。i 出現在 .bss 段,無顯式值。objdump -j .data -s test_static.o 可見 78 56 34 12(小端序)。-t:符號表。-h:段概覽。-j <section> -s:顯示指定段十六進制內容。