首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++中的名称修饰

C++中的名称修饰
EN

Stack Overflow用户
提问于 2016-06-22 22:01:33
回答 1查看 450关注 0票数 0

是否有任何标准的强制名称修饰?

据我所知(所有?)一致性实现将下划线前缀添加到每个导出符号的名称。这是由C、POSIX或其他标准保证的吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 17:22:44

我不确定是否有“标准”,但加下划线似乎是20世纪70年代的一种非常常见的惯例。来自What is the reason function names are prefixed with an underscore by the compiler?

大约在1974年用C语言重写UNIX时,它的作者已经有了大量的成员语言库,而且修改新的C和C兼容代码的名称比回去修复所有现有代码更容易。

如果你想在Windows上与微软编译器进行互操作,这是C语言所必需的(仅限于win32;win64不使用修饰,因为它只有一个标准的调用约定)。

https://docs.microsoft.com/en-us/cpp/build/reference/decorated-names

另请参阅:Why do C compilers prepend underscores to external names?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37970360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档