Qual è la differenza tra DEBUG e _DEBUG in vC++ in visual studio 2008. C'è qualche differenza perché nel mio progetto, in alcuni moduli il preprocessore è DEBUG e in alcuni moduli è _DEBUG.DEBUG vs _DEBUG
risposta
Nel proprio codice è possibile controllare qualsiasi macro desiderata, quindi non è importante quale utilizzare.
Ma le librerie utilizzate possono comportarsi diversamente. Per esempio. la documentazione MSDN sugli stati assert
:
Le dichiarazioni di asserzione vengono compilate solo quando _DEBUG è definito. Quando _DEBUG non è definito, il compilatore considera le asserzioni come istruzioni nulle.
Quindi vorrei suggerire di utilizzare sempre _DEBUG
.
Edit: Secondo MSDN che non hanno nemmeno bisogno di definire qualsiasi macro speciale di debug perché il compilatore lo farà per voi, non appena si specifica una libreria di debug di runtime.
In realtà dipende da quale utilizzo macro è definito. Poiché so che il progetto VS2008 C++ predefinito contiene _DEBUG da definire per la configurazione di debug. Potrebbe capitare che nel tuo progetto ci sia anche una macro DEBUG personalizzata. Prova a cercare la definizione DEBUG.
Per impostazione predefinita è necessario utilizzare sempre _DEBUG.
Se l'impostazione Codegeneration del progetto è qualsiasi cosa con "debug", quindi la macro _DEBUG viene definita dal compilatore. I corrispondenti opzioni compilatore sono /MDd DLL multithread, collegamento dinamico a libc, DEBUG /MLd thread singolo, il collegamento statico a libc, DEBUG (VC6) /MTd Multithreaded, collegamento statico a libc, DEBUG
L' l'opzione del compilatore/LDd definisce anche la macro _DEBUG.
La macro DEBUG viene spesso definita in modo esplicito in Debug-Project-Setting.
- 1. _DEBUG vs NDEBUG
- 2. #if DEBUG vs. condizionale ("DEBUG")
- 3. Defines.Debug vs #if DEBUG
- 4. C# Debug vs Release
- 5. Compilatore .NET - DEBUG vs. RELEASE
- 6. debug vs uscita in CMAKE
- 7. debug vs prestazioni di uscita
- 8. Release vs Debug Build Times
- 9. XCode debug vs release build durante il debug
- 10. Modalità di rilascio vs Debug = "false"
- 11. Debug dell'applicazione Type Cordova VS 2015
- 12. Differenze di prestazioni drastiche: debug vs release
- 13. Node.JS debug errore VS Codice EADDRINUSE
- 14. web.config, web.debug.config, web.release.config e Publish vs Debug?
- 15. C'è un modo in C# per replicare un '#ifndef _DEBUG' da C/C++?
- 16. Usa D3D11 strato di debug con VS2013 su Windows 10
- 17. Debug del server di sviluppo webpack in vs codice?
- 18. C# if/then direttive per debug vs release
- 19. Come eseguire il debug della stored procedure in VS 2015?
- 20. Aggiungi file come collegamento su Visual Studio - Debug vs Publish
- 21. VS 2013 xaml editor e Microsoft.VCLibs.120.00.Debug
- 22. Debug di C++ nativo/gestito in VS 2010 con NUnit
- 23. Eseguire il debug del file corrente nel codice VS
- 24. . Debug remoto via Web Win2003 con VS 2012
- 25. Google Play Services - Accedi - ID client debug vs versione
- 26. Debug remoto con VS2015
- 27. Debug remoto sul server
- 28. #ifdef DEBUG versus #if DEBUG
- 29. Debug using MbUnit/Gallio 3.1
- 30. VS2010: "Impossibile avviare il debug"
Correlati: ['_DEBUG' vs' NDEBUG'] (http://stackoverflow.com/questions/2290509/) –