首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何识别一个库是调试版本还是发布版本?

如何识别一个库是调试版本还是发布版本?
EN

Stack Overflow用户
提问于 2009-05-11 11:41:13
回答 7查看 8.9K关注 0票数 7

我们的项目使用了许多静态库来构建应用程序。我们如何确保在应用程序的发布版本中使用的是库的发布版本?

我们在发布应用程序构建中使用调试库是在犯错误。

我正在寻找一种优雅的方式,在这种方式中,我可以编写一个模块,我们可以检查特定的库是否发布或调试,如果不匹配则报告它。我们的应用程序是用C/C++编写的。(Platform MSVC & GCC)

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-05-11 11:52:41

通常的方法是给这些库不同的名称,或者将它们存储在不同的目录中,例如Debug和Release。如果你的构建被正确地自动化了,我看不出你怎么会犯错。

票数 1
EN

Stack Overflow用户

发布于 2009-05-11 13:02:20

是。您可以检查文件的IMAGE_FILE_HEADER结构的Characteristics字段。如果库是发布版本,则位0x0200 (DEBUG_STRIPPED)将被设置;在调试版本中,它将被清除。

你可以在网上的不同地方(如here)找到Windows EXEs和DLL使用的PE格式的技术信息,以了解如何检索该结构。

票数 4
EN

Stack Overflow用户

发布于 2009-05-11 11:46:44

您不能使用命名约定(即,foo_rel.afoo_dbg.a )来解决这个问题吗?

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

https://stackoverflow.com/questions/847721

复制
相关文章

相似问题

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