編譯器如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瀏覽量
24608 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4403瀏覽量
66590 -
編譯器
+關(guān)注
關(guān)注
1文章
1666瀏覽量
50985
發(fā)布評論請先 登錄
SIMD計算機(jī)的優(yōu)化編譯器設(shè)計
MCS-51程序空間擴(kuò)展原理及編譯器優(yōu)化
CodeVsionAVR編譯器常用庫函數(shù)簡介
PICC編譯器的庫函數(shù)詳解
C編譯器及其優(yōu)化
如何使用英特爾編譯器優(yōu)化Fortran、C和C ++
關(guān)于volatile關(guān)鍵字對編譯器優(yōu)化的影響
基于C++編譯器的節(jié)點融合優(yōu)化方法
編譯器的優(yōu)化選項

編譯器優(yōu)化對函數(shù)的影響
評論