是什麼調試和_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. .NET Compiler - DEBUG vs. RELEASE
- 2. static libary debug vs release
- 3. Visual Studio - Debug vs Release
- 4. web.config,web.debug.config,web.release.config&Publish vs Debug?
- 5. _DEBUG與NDEBUG
- 6. Qt Creater _Debug Constant
- 7. #ifdef在vs 2008中的_DEBUG發佈模式
- 8. 如何在Linux上使用#ifdef _DEBUG?
- 9. 調試時XCode debug vs release版本
- 10. VS 2013 xaml編輯器和Microsoft.VCLibs.120.00.Debug
- 11. VS 2012在Lightswitch Debug上的空白Slightlight
- 12. Debug PyroCMS速度
- 13. vs2008中Debug Debug模式的幫助
- 14. _DEBUG何時何地被定義?
- 15. 在_DEBUG模式食人魔+ MFC編譯
- 16. 定義_DEBUG時不能定義NDEBUG
- 17. 爲什麼我的.exe保存在\ bin \ Debug和\ obj \ Debug中?
- 18. Ruby Debug IDE錯誤:ruby-debug-ide-0.4.9/lib/ruby-debug-ide.rb:109:`debug_load'
- 19. 比DEBUG
- 20. 如何從bin \ debug目錄在VS 2015中運行Ordered測試?
- 21. VS Debug Immediate窗口執行命令的線程是什麼?
- 22. NativeScript擴展VS代碼調試:如何禁用--debug-brk?
- 23. VS 2008 C++ debug:不顯示特定函數的局部變量?
- 24. Visual Studio 2010外部工具\ obj \調試vs \ bin \ debug
- 25. C_(visual)_Debug Error_運行時檢查失敗#2 -S
- 26. Qt 5:Debug \ release和Release \ debug目錄
- 27. bin \ debug與obj \ debug:有什麼區別?
- 28. 無法將文件obj \ Debug複製到bin \ Debug訪問路徑bin \ Debug \被拒絕
- 29. 在Visual Studio 2008中使用_DEBUG預處理器定義 - C++
- 30. 如何讓#if DEBUG工作?
相關:['_DEBUG' VS'NDEBUG'](http://stackoverflow.com/questions/2290509/) –