是什么调试和_DEBUG之间在VC++在Visual Studio 2008.Is那里,因为在我的项目有什么区别区别,在某些模块预处理程序调试和在某些模块是_DEBUG。DEBUG VS _DEBUG
8
A
回答
5
在自己的代码,你可以检查任何你想要的宏,所以也无所谓使用哪一个。
但您使用的库可能会有所不同。例如。有关assert
状态的MSDN文档:
断言语句仅在定义_DEBUG时编译。当_DEBUG未定义时,编译器将断言视为空语句。
所以我建议总是使用_DEBUG
。
编辑:根据MSDN你甚至不定义任何特殊的调试宏,因为当你指定调试运行时库编译器会为您尽快做到这一点。
2
它实际上取决于定义了什么宏使用。据我所知,默认的VS2008 C++项目包含_DEBUG以便为调试配置定义。可能发生的情况是,在您的项目中也定义了自定义的DEBUG宏。尝试搜索DEBUG定义。
默认情况下,您应该始终使用_DEBUG。
1
如果项目的Codegeneration设定与“调试”什么,所以_DEBUG宏是由编译器定义。 相应的编译选项是 /MDD多线程的DLL,动态链接到libc,DEBUG /MLD单线程的,静态链接到libc,DEBUG(VC6) /MTD多线程,静态链接到libc,DEBUG
的编译器选项/ LDd也定义了_DEBUG宏。
的DEBUG宏往往是明确的调试项目设定定义。
相关问题
- 1. Visual Studio - Debug vs Release
- 2. .NET Compiler - DEBUG vs. RELEASE
- 3. web.config,web.debug.config,web.release.config&Publish vs Debug?
- 4. _DEBUG与NDEBUG
- 5. 如何在Linux上使用#ifdef _DEBUG?
- 6. 调试时XCode debug vs release版本
- 7. vs2008中Debug Debug模式的帮助
- 8. _DEBUG何时何地被定义?
- 9. 在_DEBUG模式食人魔+ MFC编译
- 10. 定义_DEBUG时不能定义NDEBUG
- 11. 为什么我的.exe保存在\ bin \ Debug和\ obj \ Debug中?
- 12. Ruby Debug IDE错误:ruby-debug-ide-0.4.9/lib/ruby-debug-ide.rb:109:`debug_load'
- 13. NativeScript扩展VS代码调试:如何禁用--debug-brk?
- 14. VS Debug Immediate窗口执行命令的线程是什么?
- 15. 如何从bin \ debug目录在VS 2015中运行Ordered测试?
- 16. Visual Studio 2010外部工具\ obj \调试vs \ bin \ debug
- 17. 无法将文件obj \ Debug复制到bin \ Debug访问路径bin \ Debug \被拒绝
- 18. 如何让#if DEBUG工作?
- 19. 在Visual Studio 2008中使用_DEBUG预处理器定义 - C++
- 20. Debug Angular2 App
- 21. Debug Draw Andengine
- 22. 混淆DEBUG宏
- 23. Netbeans debug jdk
- 24. TortoiseHG --debug开关
- 25. 的#define DEBUG 1
- 26. gstreamer debug builds
- 27. qt creator debug slow
- 28. FAST函数OpenCV Debug Assertion Faild
- 29. 没有DEBUG常量定义,#if DEBUG在发布版本上返回true
- 30. Tomcat 7 maxSpareThreads,liveDeploy,debug
相关:['_DEBUG' VS'NDEBUG'](http://stackoverflow.com/questions/2290509/) –