在 .NET 中,如何确定C++ DLL 是否在调试或发布版本中
In .NET, how to identify if a C++ DLL is in DEBUG or RELEASE build?
感谢网络的一些资源,我做了一个小工具来知道我的.NET dll是在调试还是在发布版本中;但我希望它也适用于c/c ++ DLL。
有人对此有一些代码吗?DLL 是使用 Visual Studio 编译的。
据我所知,仅看DLL就无法说出这样的事情。在我们的工作中,我们为调试dll使用不同的名称(在末尾添加D)并使用预处理器的东西。
由于调试或发布版本只是编译器的一组属性,因此您最终可能会得到一个调试版本,该版本像发布版本一样编译,反之亦然。
总结一下,我觉得没办法,对不起。
这不是 100%,但看看这个。
http://msdn.microsoft.com/en-us/library/system.diagnostics.fileversioninfo.isdebug.aspx
信息通常包含在 PE 标头中。您可以编写一些代码来解析它。
相关文章:
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 导入库可以跨dll版本工作吗
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 在clang++预处理器中确定gcc工具链版本
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 不同的Visual Studio版本中缺少.dll
- 用符号版本替换对函数的所有调用
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 我需要分发哪些版本的可再分发文件
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- 在运行时读取 libstdc++ 版本
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- Vulkan SDK 版本 1.1.85.0 在 Kubuntu 18.10 上链接
- 如何正确实现与基类不同的版本?
- 从预处理器获取 Windows 版本(C++ Win32)
- 表达式 SFINAE:如何根据类型是否包含具有一个或多个参数的函数来选择模板版本
- 如何在C++中将 Python 字符串转换为其转义版本?
- 在一个解决方案中针对第三方静态库 (Creo) 的不同版本(版本)进行构建