4
第一種情況:奇怪的行爲
#include <stdio.h>
int main(void)
{
return 0;
}
尺寸輸出:
text data bss dec hex filename
1115 552 8 1675 68b ./a.out
第二種情況:
#include <stdio.h>
int global; // new line compared to previous case
int main(void)
{
return 0;
}
尺寸輸出:
text data bss dec hex filename
1115 552 8 1675 68b ./a.out
理想的情況下應該是:
bss=12 and all other (text and data) same
第三屆情況:
#include <stdio.h>
int global;
int main(void)
{
static int i; // new line compared to previous case
return 0;
}
尺寸輸出:
text data bss dec hex filename
1115 552 16 1683 693 ./a.out
這是正確的
爲什麼在第二情況下,輸出是不正確的?
你的優化標誌是什麼? – zoul
這就好像被編譯器忽略,因爲它根本沒有被使用。 – Ian
在第三種情況下,您是否保留'global'變量? –