編譯器如gcc,可以指定不同的優(yōu)化參數(shù),在某些條件下,有些函數(shù)可能會被優(yōu)化掉。
先寫一個簡單的測試文件:
用命令
gcc -g -c test.c
編譯成目標文件。
用 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)化掉。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關推薦
利用處理器的相關資源,提高編譯器優(yōu)化性能和增強代碼可適應性是SIMD處理器優(yōu)化編譯的關鍵。該文基
發(fā)表于 04-03 08:47
?30次下載
討論了MCS-51系列單片機程序空間擴展的原理,包括硬件與編譯器兩個方面,并提出一種編譯器優(yōu)化方案.該方案在Keil仿真器上檢驗并通過關健詞:C51
發(fā)表于 10-23 08:55
?100次下載
keil編譯器的優(yōu)化選項針對ARM,對STM32編譯的一些優(yōu)化的問題
發(fā)表于 02-25 14:18
?3次下載
CodeVsionAVR編譯器常用庫函數(shù)簡介,很好的Proteus資料,快來下載學習吧。
發(fā)表于 04-18 14:35
?0次下載
本章將詳細列出PICC編譯器的庫函數(shù)。每個函數(shù)均從函數(shù)名開始,然后按照以下幾個標題給出詳細解釋。
發(fā)表于 10-14 14:17
?0次下載
本章將幫助讀者在ARM處理器上編寫高效的C代碼。本章涉及的一些技術不僅適用于ARM處理器,也適用于其他RISC處理器。本章首先從ARM編譯器及其優(yōu)化
發(fā)表于 10-17 17:22
?2次下載
在本次網(wǎng)絡研討會中,我們將向您展示如何使用編譯器選項來定位您正在尋找的確切優(yōu)化信息以及如何使用此信息來加速你的申請。
發(fā)表于 11-01 06:50
?2611次閱讀
了解如何使用適用于Fortran *,C和C ++的英特爾?編譯器優(yōu)化一些困難的循環(huán)。
示例選自經(jīng)典的netlib.org矢量基準測試,這些測試不是由當前的英特爾編譯器自動優(yōu)化的,但
發(fā)表于 11-08 06:02
?3181次閱讀
volatile關鍵字對編譯器優(yōu)化的影響
發(fā)表于 02-28 17:15
?2936次閱讀
虛擬機:編譯器對C函數(shù)的名字修飾
發(fā)表于 06-22 11:44
?2559次閱讀
LLVM是以C十十編寫的架構編譯器的框架系統(tǒng),支持多后端和交叉編譯,用于優(yōu)化程序的編譯時間、鏈接時間、運行時間和空閑時間。節(jié)點融合是一種簡單有效的優(yōu)
發(fā)表于 06-15 14:29
?19次下載
繼續(xù)深度學習編譯器的優(yōu)化工作解讀,本篇文章要介紹的是OneFlow系統(tǒng)中如何基于MLIR實現(xiàn)Layerout Transform。
發(fā)表于 05-18 17:32
?736次閱讀
一個程序首先要保證正確性,在保證正確性的基礎上,性能也是一個重要的考量。要編寫高性能的程序,第一,必須選擇合適的算法和數(shù)據(jù)結構;第二,應該編寫編譯器能夠有效優(yōu)化以轉換成高效可執(zhí)行代碼的源代碼,要做到
發(fā)表于 11-24 15:37
?890次閱讀
我們都知道,代碼是可以通過編譯器優(yōu)化的,有的時候,為了提高運行速度或者減少代碼尺寸,會開啟優(yōu)化選項。
發(fā)表于 10-23 16:35
?504次閱讀
電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費下載
發(fā)表于 10-30 09:45
?0次下載
評論