編譯器如gcc,可以指定不同的優(yōu)化參數(shù),在某些條件下,有些函數(shù)可能會被優(yōu)化掉。
先寫一個簡單的測試文件:
用命令
gcc -g -c test.c
編譯成目標(biāo)文件。
用 nm檢查函數(shù)符號:
$ nm -C test.o
00000000 T foo
現(xiàn)在使用 命令
gcc -g -c -O2 test.c
重新編譯。
再用 nm檢查:
$ nm -C test.o
00000000 T foo
還是能找到函數(shù) foo.
這表明foo沒有被優(yōu)化掉
現(xiàn)在把函數(shù) foo改成靜態(tài)函數(shù):
使用 -O2編譯,然后用 nm查找,會發(fā)現(xiàn),此時 foo符號找不到了。
可見,靜態(tài)函數(shù)有可能會被GCC優(yōu)化掉。
-
優(yōu)化
+關(guān)注
關(guān)注
0文章
220瀏覽量
24279 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4376瀏覽量
64530 -
編譯器
+關(guān)注
關(guān)注
1文章
1659瀏覽量
50046
發(fā)布評論請先 登錄
SIMD計算機的優(yōu)化編譯器設(shè)計
MCS-51程序空間擴展原理及編譯器優(yōu)化
CodeVsionAVR編譯器常用庫函數(shù)簡介
PICC編譯器的庫函數(shù)詳解
C編譯器及其優(yōu)化
關(guān)于volatile關(guān)鍵字對編譯器優(yōu)化的影響
基于C++編譯器的節(jié)點融合優(yōu)化方法
編譯器的優(yōu)化選項

評論