3

GCC を使用して実行可能ファイルを作成しました

$ gcc Q1.c -save-temps -std=c89 -o Q1
$ size Q1
text       data     bss     dec     hex filename
1509        264       8    1781     6f5 Q1

そして、私はこれをします

$ gcc Q1.c -save-temps -std=c99 -o Q1
$ size Q1
text       data     bss     dec     hex filename
1544        264       8    1816     718 Q1

プログラムのテキスト サイズに違いが生じた原因は何ですか?考えられる理由は何ですか?

4

1 に答える 1

1

特に理由はありません。より厳格な基準により、最適化が異なる場合があります。私のコンピューターで:

-> % gcc test.c -save-temps -std=c89
-> % size a.out 
   text    data     bss     dec     hex filename
   1093     568       8    1669     685 a.out
-> % gcc test.c -save-temps -std=c99 
-> % size a.out                     
   text    data     bss     dec     hex filename
   1093     568       8    1669     685 a.out

これは非常に経験的です。-Oフラグを使用すると、結果が変わる場合もあります。

于 2013-05-07T17:51:14.347 に答える