第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C中函數(shù)inline定義問題,求解釋?

C中函數(shù)inline定義問題,求解釋?

元芳怎么了 2019-02-26 10:06:16
C中函數(shù)inline定義問題,求解釋
查看完整描述

3 回答

?
青春有我

TA貢獻1784條經(jīng)驗 獲得超8個贊

這種用法,同一個文件內(nèi)的inline test函數(shù)會被內(nèi)聯(lián)展開,其他文件的test函數(shù),會編譯成普通函數(shù)來調(diào)用。

根據(jù)你的提問可以理解為:abc.h中的test函數(shù),被abc.h內(nèi)聯(lián)展開。abc.c中的test函數(shù),被abc,c調(diào)用,與abc.h里面的test無關。如果還有def.c調(diào)用test,那么調(diào)用那個的是abc.c中的。前提是abc.c和def.c不包含abc.h,如果包含abc.h那么調(diào)用test函數(shù)的地方,會被abc.h中的test函數(shù)進行內(nèi)聯(lián)展開。

GCC編譯器和 C99編譯器代碼有所不同,都可能能達到你描述代碼的要求,說可能是因為我只在gcc編譯器上編譯過類似代碼,c99的用法是網(wǎng)絡文章說的,我沒試過,所以只能說可能。

查看完整回答
反對 回復 2019-03-26
?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

這個inline函數(shù)的問題也許是很“迷人”的一個問題,要理解它還要回到C語言的源頭去-C語言標準,這里貼出C99(C11現(xiàn)在還收費呢)中關于inline的一部分內(nèi)容。

你看看你能看明白嗎?而且可以肯定的是你給出的那段代碼一定會編譯出錯的,會出現(xiàn)重復定義問題。




查看完整回答
反對 回復 2019-03-26
?
當年話下

TA貢獻1890條經(jīng)驗 獲得超9個贊

如果直接把函數(shù)體寫在頭文件里自動就是inline了,但遇到不可內(nèi)聯(lián)的情況編譯器會報錯,要是頭文件里有函數(shù)體,而程序文件中又寫了函數(shù)體,如果不是重載的情況,編譯時就報錯了

應該是c++,c是沒有inline的

查看完整回答
反對 回復 2019-03-26
  • 3 回答
  • 0 關注
  • 982 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號