Cuál es la diferencia entre DEBUG y _DEBUG en vC++ en visual studio 2008. Hay alguna diferencia porque en En mi proyecto, en algunos módulos el preprocesador es DEBUG y en algunos módulos está _DEBUG.DEBUG vs _DEBUG
Respuesta
En su propio código puede verificar cualquier macro que desee, por lo que no importa cuál usar.
Pero las bibliotecas que usa pueden comportarse de manera diferente. P.ej. La documentación de MSDN acerca de assert
indica:
Las declaraciones de aserción se compilan solo cuando se define _DEBUG. Cuando _DEBUG no está definido, el compilador trata las aserciones como declaraciones nulas.
Así que sugeriría utilizar siempre _DEBUG
.
Editar: Según MSDN que no tienen ni siquiera para definir cualquier macro especial de depuración porque el compilador hará que tan pronto como se especifica una biblioteca de depuración en tiempo de ejecución.
Depende realmente del uso de la macro definido. Como sé por defecto, el proyecto VS2008 C++ contiene _DEBUG a definir para la configuración de depuración. Puede ocurrir que en su proyecto también haya una macro DEBUG personalizada definida. Intenta buscar la definición de DEPURACIÓN.
Por defecto, siempre debe usar _DEBUG.
Si la configuración de generación de código del proyecto es algo con "depuración", el compilador define la macro _DEBUG. Las opciones de compilación correspondientes son /MDd multiproceso DLL, la vinculación dinámica a libc, depurar /MLD Single-Threaded, la vinculación estática a libc, depurar (VC6) /MTd multiproceso, la vinculación estática a libc, DEBUG
El la opción compilador/LDd también define la macro _DEBUG.
La macro DEPUG se define a menudo explícitamente en la Configuración del proyecto de depuración.
- 1. _DEBUG vs NDEBUG
- 2. Defines.Debug vs DEBUG #if
- 3. C# Debug vs Release
- 4. Release Mode vs Debug = "false"
- 5. Compilador .NET - DEBUG vs. RELEASE
- 6. #if DEBUG vs condicional ("Test")
- 7. Release vs Debug Build Times
- 8. iOS PhoneGap debug Workflow
- 9. ruby-debug and pepino
- 10. condicional ("Test") + #if DEBUG
- 11. XCode Debug Shortcuts
- 12. Visual Studio debug iterators
- 13. Ejecutar Logback en Debug
- 14. PHP Debug Echo's
- 15. Django debug toolbar logging
- 16. #define DEBUG 1
- 17. Delphi #IF (DEBUG) equivalente?
- 18. debug JSP from eclipse
- 19. Mono Debug: cómo desactivarlo?
- 20. Debug LLVM using Eclipse
- 21. Debug XQuery Program
- 22. Django Debug Toolbar Instalar problemas
- 23. Ruby on Rails Debug Pregunta
- 24. JNA C DLL Debug Howto?
- 25. Configuration Manager solo muestra Debug
- 26. Parallel.ForEach Debug o Step Through
- 27. Error: instalar ruby-debug-ide
- 28. Debug Playframework 2.0 en Eclipse
- 29. Debug Moial parcial en JMockit
- 30. Al compilar/depurar, se supone que VS borrará los archivos existentes en el área bin \ debug?
Relacionados: ['_DEBUG' vs' NDEBUG'' (http://stackoverflow.com/questions/2290509/) –