我使用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
可能导致程序文字大小不一致的原因可能是什么原因?
答案 0 :(得分: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
标志甚至可以更改结果。