Cygwin gcc 正在为我的符号添加下划线“_”前缀。我在哪里可以找到有关此行为的文档?
Posted
技术标签:
【中文标题】Cygwin gcc 正在为我的符号添加下划线“_”前缀。我在哪里可以找到有关此行为的文档?【英文标题】:Cygwin gcc is adding an underbar "_" prefix to my symbols. Where can I find documentation on this behavior? 【发布时间】:2011-01-08 07:47:43 【问题描述】:我第一次尝试在 cygwin 上编译一个 gcc 项目。构建失败,因为下划线是所有符号的前缀。这导致符号与没有前导下划线的 GLIB 库(通过 CYGWIN 包管理系统安装)不匹配。这种放置前导下划线的趋势是否记录在某个地方?
【问题讨论】:
你能显示你的编译和链接命令吗? 【参考方案1】:使用-fleading-underscore
和/或-fno-leading-underscore
获得您想要的行为。 This question 有很多与你正在做的事情相关的信息。
【讨论】:
根据您链接的问题,这些选项对cygwin gcc没有影响。【参考方案2】:Cygwin 的编译器会这样做,因为 Visual C++ 会这样做。他们试图最小化两者之间不必要的差异的数量,以帮助将用一个构建的代码与另一个构建的代码联系起来。通常还有其他因素会阻止您在 Visual C++ 中使用 Cygwin 代码,反之亦然,但这不是其中之一。
【讨论】:
以上是关于Cygwin gcc 正在为我的符号添加下划线“_”前缀。我在哪里可以找到有关此行为的文档?的主要内容,如果未能解决你的问题,请参考以下文章
gcc:架构 x86_64 的未定义符号,缺少 vtable