【问题标题】:Do C++ mangled names stay consistent when compiled on different computers?在不同计算机上编译时,C++ 重命名的名称是否保持一致?
【发布时间】:2011-03-20 17:34:32
【问题描述】:

一般来说,我在 Linux 上使用 nm 观察到,即使我不使用 extern "C"T 符号名称(我感兴趣的)在不同的计算机上也保持一致。我的观察正确吗?

注意我在所有计算机上都使用 gcc。

【问题讨论】:

标签: c++ gcc export name-decoration


【解决方案1】:

计算机、一天中的时间或天气会影响名称修改是非常不寻常的。

更容易引起偏差的是编译器版本的差异。

但许多 linux 平台为 C++ 定义了 ABI(应用程序二进制接口),其中包括名称修改规则等。在这些平台上,无论优化级别、编译器版本、主机名、硬盘序列号、一天中的时间、天气、您最喜欢的运动队上周是否输球或任何其他因素,相同的源代码都将编译为相同的错误名称ABI 中明确提及。

【讨论】:

    猜你喜欢
    • 2016-03-10
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2023-03-27
    • 1970-01-01
    • 2016-12-21
    • 2019-07-14
    相关资源
    最近更新 更多