簡體   English   中英

名稱修改公約

[英]Conventions for name mangling

功能說:

long myfunction(int,float)

編譯器可以將此接口記錄為:

?MyFunctionFoo@@YAXH

如果我理解正確,裝飾原始名稱的附加字符將編碼參數的數量和類型。

標准所說的關於修剪的所有內容(1.3.17)是:

簽名用作名稱修改和鏈接的基礎。

編譯器是否遵循上述編碼方案的標准約定?

或者,兩個編譯器是否需要為相同的功能提供相同的裝飾名稱

所有編譯器都遵循單一標准方案嗎?

不,這也回答了你的第二個問題。

名稱修改是ABI的功能。 並且有標准的ABI,多個編譯器為其生成代碼。 例如,Itanium ABI 幾個編譯器實現的名稱修改方案

但是C ++標准沒有對名稱修改提出任何要求。 實際上,它甚至沒有說要進行這樣的名稱修改。

編譯器是否遵循上述編碼方案的標准約定?

不,名稱修改編碼方案沒有標准約定。 每個編譯器都有自己的名稱修改方案。

其中一些在這里描述了名稱修改計划 請轉到文檔中的名稱修改部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM