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

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

外排的問題

外排的問題

C++
慕田峪9158850 2019-10-13 12:08:26
外排的問題我理解“內(nèi)聯(lián)”本身就是對編譯器的一種建議,在它的設(shè)計過程中,它可能會或可能不會內(nèi)聯(lián)這個函數(shù),它還會生成可鏈接的對象代碼。我認(rèn)為“靜態(tài)內(nèi)聯(lián)”也是如此(可能是內(nèi)聯(lián),也可能不是內(nèi)聯(lián)),但是在內(nèi)聯(lián)時不會生成可鏈接的對象代碼(因為沒有其他模塊可以鏈接到它)?!皟?nèi)插”在圖片中的位置是什么?假設(shè)我想用內(nèi)聯(lián)函數(shù)替換預(yù)處理器宏,并要求這個函數(shù)內(nèi)聯(lián)(例如,它使用_file_和_line_宏,應(yīng)該為調(diào)用方解析,而不是這個被調(diào)用的函數(shù))。也就是說,如果函數(shù)沒有內(nèi)聯(lián),我希望看到編譯器或鏈接器錯誤?!癳xtern inline”會這樣做嗎?(我假設(shè),如果沒有,除了堅持宏之外,沒有其他方法可以實(shí)現(xiàn)這種行為。)C+和C之間有什么區(qū)別嗎?不同的編譯器供應(yīng)商和版本之間有區(qū)別嗎?
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊

在K&R C或C 89中,內(nèi)聯(lián)不是語言的一部分。許多編譯器將其實(shí)現(xiàn)為擴(kuò)展,但對于它的工作方式卻沒有定義的語義。GCC是最早實(shí)施內(nèi)聯(lián)的國家之一,并介紹了inlinestatic inline,和extern inline構(gòu)造;大多數(shù)預(yù)C99編譯器通常遵循它的要求。

GNU89:

  • inline

    :函數(shù)可能是內(nèi)聯(lián)的(不過只是個提示)。一個線外的版本總是被發(fā)出和外部可見。因此,您只能在一個編譯單元中定義這樣一個內(nèi)聯(lián),而其他每一個編譯單元都需要將其視為一個離線函數(shù)(否則在鏈接時會得到重復(fù)的符號)。
  • extern inline

    不會生成出線版本,但可能會調(diào)用一個版本(因此,您必須在其他編譯單元中定義該版本)。不過,單定義規(guī)則是適用的;出線版本必須具有與此處提供的內(nèi)聯(lián)代碼相同的代碼,以防編譯器調(diào)用該代碼。
  • static inline

    將不會生成一個外部可見的出線版本,盡管它可能會生成一個文件靜態(tài)版本?!耙粋€定義”規(guī)則不適用,因為從來沒有發(fā)出外部符號,也沒有對外部符號的調(diào)用。

C99(或GNU99):

  • inline

    *與GNU89一樣“內(nèi)聯(lián)外掛”;沒有發(fā)出外部可見函數(shù),但可能會調(diào)用一個函數(shù),因此必須存在
  • extern inline

    類似于GNU89“內(nèi)聯(lián)”:發(fā)出外部可見代碼,因此最多一個翻譯單元可以使用此代碼。
  • static inline

    *像GNU89“靜態(tài)內(nèi)聯(lián)”。這是gnu 89和c99之間唯一的便攜式

C+:

任何地方內(nèi)聯(lián)的函數(shù)都必須在任何地方內(nèi)聯(lián),定義相同。編譯器/鏈接器將排序符號的多個實(shí)例。沒有定義static inlineextern inline,盡管許多編譯器都有它們(通常遵循gnu 89模型)。



查看完整回答
反對 回復(fù) 2019-10-14
?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗 獲得超4個贊

我相信你誤解了_和_基于以下陳述:

因為它使用_file_和_line_宏,應(yīng)該為調(diào)用方解析,而不是這個被調(diào)用的函數(shù)。

編譯有幾個階段,第一個階段是預(yù)處理。_因此,當(dāng)編譯器可以考慮內(nèi)聯(lián)函數(shù)時,它們已經(jīng)被替換了。



查看完整回答
反對 回復(fù) 2019-10-14
  • 3 回答
  • 0 關(guān)注
  • 344 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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