導航:首頁 > 源碼編譯 > 函數未調用會編譯嗎

函數未調用會編譯嗎

發布時間:2022-06-09 22:55:01

A. 編譯器會把cpp文件中沒被調用的函數編譯到obj文件中嗎

生成.o文件(obj文件)時,會生成這個函數的相關代碼。
但是在鏈接時,即在生成可執行程序時,因為函數沒有被調用到,應該不會鏈接進去。

B. 在Keil uVision4中,用C語言,不調用的子程序,會不會編譯

1. 「這兩者都是用相同軟體,有何區別?」
是不同的軟體。

2. 「為什麼8051不可以自動不編譯沒有調用的子程序?」
因為用戶可能在匯編中隱式調用某個字程序。
對於你所說「在編譯ARM(LPC1768)時,有子程序沒有被調用,不會有警告,不調用的程序有不會編譯為代碼」我持懷疑態度。

不管哪種方式編程都很有可能隱式調用函數的,如通過函數指針。所以不編譯非顯式調用的子程序是明顯違反編程人員意圖的行為。兩種可能:默認項目設置不當;或者對這類子程序需要添加特別的類型說明或編譯開關。
想知道兩種編譯套裝的區別,最好的資料就是其自帶的說明文檔。那幾十兆的說明文檔看下來包你受益無窮。

C. 未被調用的函數是否也會被編譯進程序里

這個要看是編譯性語言還是解讀性語言,比如html之類的是讀到哪裡編譯到哪裡

D. C語言中一個函數如果在主函數中沒有調用,會被編譯么

會的,當你運行時,編譯器還要檢查你的函數是否有格式或其它錯誤!

E. keilc中怎麼使一個庫函數不調用時不編譯

它不會被嵌入代碼而佔用空間的,當然動態鏈接庫除外。KEIL把源代碼編譯成最終執行代碼,要經歷兩個過程,一是編譯:即把源文件編譯成中間目標文件,簡單的說是把C文件編譯成.O或.obj文件;二是鏈接,這個是生成可執行文件的關鍵,它會根據MAIN函數頭和各個中斷函數中調用的函數去中間目標文件中選擇對應的代碼並最終打包到一起生成可執行文件。所以,聲明未被用到的函數是不會佔用程序存儲空間的,但是它會被編譯,只是在連接時不會被選用。希望對你有幫助!!!

F. 單片機C語言編程,假如頭文件里的函數沒有被調用,那麼該函數會不會最後編譯出來而佔用內存

沒有用到自然就不會被編譯,就不會占空間

如果頭文件定義有1000個函數
你的程序只用了1個函數

那麼編譯後的程序,只有這一個函數的內容

G. c語言中,程序中有子函數,但主函數沒有調用子函數,那麼這個子函數會參與編譯嗎

編譯肯定是要參與的,你如果在子函數中特意寫錯一個地方,在編譯的時候會報錯,這表示這個子函數在被編譯的時候出錯了。

H. python中def函數在編譯時不調用會運行么

不會,只要沒有調用到就不會運行代碼

I. C++中類成員函數未實現,是否能夠編譯鏈接通過

如果該成員函數沒有被調用,那麼就不會對編譯連接產生影響,可以通過編譯。

J. keil4如何在編譯時不編譯未調用的函數

會全部編譯的,在鏈接階段,未調用的函數,會自動被優化掉

閱讀全文

與函數未調用會編譯嗎相關的資料

熱點內容
app伺服器程序放在哪裡 瀏覽:841
電商怎麼選擇雲伺服器 瀏覽:565
錘子視頻文件夾 瀏覽:16
演算法的兩要素是什麼和什麼 瀏覽:772
如何創建伺服器多用戶 瀏覽:654
javaonlinejudge編譯錯誤 瀏覽:65
命令與征服3泰伯利亞戰爭升級 瀏覽:690
投標工具需要加密鎖嗎 瀏覽:503
蘇州阿里雲伺服器服務電話 瀏覽:783
怎麼知道app專屬流量 瀏覽:62
單片機模擬動畫教程 瀏覽:735
linux解壓鏡像 瀏覽:164
c語言可以在哪編譯 瀏覽:127
如何對spl的密碼加密 瀏覽:73
oppoa59s如何添加應用加密 瀏覽:515
比特幣asic演算法 瀏覽:175
查看伺服器外網訪問地址 瀏覽:857
魔獸爭霸地圖最新加密 瀏覽:686
暢捷雲APP怎麼l發票 瀏覽:213
黑馬程序員與傳智播客 瀏覽:521