gpt4 book ai didi

c++ - 名称修饰的约定

转载 作者:太空狗 更新时间:2023-10-29 20:36:28 25 4
gpt4 key购买 nike

对于函数来说:

long myfunction(int,float)

编译器可能会将此接口(interface)记录为:

?MyFunctionFoo@@YAXH

如果我没理解错的话,装饰原始名称的附加字符编码参数的数量和类型。

标准 (1.3.17) 关于 mangling 的所有内容是:

Signatures are used as a basis for name mangling and linking.

编译器是否遵循上述编码方案的标准约定?

或者,是否需要两个编译器为同一个函数提供相同的修饰名称

最佳答案

Do all compilers follow a single standard scheme?

没有。这也回答了你的第二个问题。

名称重整是 ABI 的一项功能。还有标准的 ABI,多个编译器为其生成代码。 Itanium ABI,例如,has its own name mangling scheme几个编译器实现的。

但 C++ 标准没有对名称修改提出任何要求。事实上,它甚至没有说需要这样的名称修改。

关于c++ - 名称修饰的约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38342100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com