gpt4 book ai didi

c - C 是否标准化了链接器符号命名?

转载 作者:行者123 更新时间:2023-11-30 17:46:02 24 4
gpt4 key购买 nike

当我查看 Visual C++ 链接器为 C 函数创建的符号时,它总是以下划线开头。例如 int example(int) 的符号采用 _example 形式。

我想知道这是否在 C 标准中指定?如果没有,那么我想知道这是由任何针对 x86/x64 的 C ABI 指定的吗?

我希望有人能启发我一点。

编辑:我对此感兴趣的原因是我发现下划线前缀至少在 x86 平台下非常常见。这感觉很奇怪,这会是巧合,所以我想知道是否有一些 Intel x86 ABI 或类似的东西正在定义这个?

最佳答案

正如 H2CO3 所说,标准并未指定它,但是某些调用约定在特定平台上或多或少是一致的。对于 X86,x86 Disassembly Wikibook: Calling Conventions 中有一篇不错的文章,但是这些不受标准监管(它甚至说编译器“经常”修饰函数名称,并且您应该始终检查特定编译器如何实现调用约定)。

关于c - C 是否标准化了链接器符号命名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19468573/

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