Программно определить активную конфигурацию - PullRequest
1 голос
/ 14 сентября 2010

Есть ли способ определить активную конфигурацию (что означает отладку или выпуск) в коде?Что-то вроде

#ifdef XCodeConfigurationDebug
    ...  
#endif  

#ifdef XCodeConfigurationRelease
    ...  
#endif  

Я знаю, что это можно сделать, добавив собственные флаги компилятора.Однако я ищу более глобальное решение.

Ответы [ 3 ]

4 голосов
/ 14 сентября 2010

Существует флаг __OPTIMIZE__, который определяется в режиме RELEASE, и так:

#ifndef __OPTIMIZE__
// code for debug mode
#else
// code for release
#endif
2 голосов
/ 14 сентября 2010

Я понял это, используя объявления препроцессора.Вы можете добавить свое собственное определение, или NDEBUG - это еще одно распространенное объявление в релизе.

1 голос
/ 19 декабря 2012

Вы также можете добавить свои собственные макросы препроцессора для каждой конфигурации в настройках сборки вашей цели. Ex.:

Debug

GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1

Release

GCC_PREPROCESSOR_DEFINITIONS = RELEASE=1

А потом в вашем коде

#ifdef DEBUG
...
#else
...
#endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...