首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >识别libstdc++的版本

识别libstdc++的版本
EN

Stack Overflow用户
提问于 2013-12-20 18:32:54
回答 2查看 241关注 0票数 1

我在Bug 58800中遇到了libstdc++,这会导致我的一些代码出现分段错误。我有一个解决办法,但当固定版本的libstdc++可用时,我不想使用它。检查libstdc++版本(通过ifdef)的正确方法是什么?而且,理想情况下,哪个版本会受到此bug的影响?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-10 13:43:22

libstdc++随GCC而来,所以正确的方法是通过测试__GNUC____GNUC_MINOR____GNUC_PATCHLEVEL__ 预定义宏来检查GCC版本。

如果您在Clang中使用libstdc++,您可以测试__GLIBCXX__ > 20131020UL ( bug的修复日期)是否正确。该日期之后的发行版应该包含修复程序。

票数 1
EN

Stack Overflow用户

发布于 2013-12-20 18:48:50

可以使用__GLIBCXX__宏检查libstdc++的版本信息。(ABI政策附录第7节列出了一个值列表。)

bug以一个已经修复的版本列表结束,但是找出bug是什么时候引入的可能会更棘手。如果您使用的是autoconf,我建议您编写一个测试,如果存在bug,测试就会崩溃。

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

https://stackoverflow.com/questions/20709894

复制
相关文章

相似问题

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