Есть ли макрос, который Xcode автоматически устанавливает в отладочных сборках? - PullRequest
4 голосов
/ 11 июля 2010

Так что я могу написать такой код:

#ifdef [whatever]
   // do stuff that will never show up in the production version
#endif

Ответы [ 2 ]

5 голосов
/ 11 июля 2010

Ничего полезного по умолчанию, но вы можете установить макрос DEBUG для отладочных сборок в «Макросах препроцессора» настроек сборки целей и затем выполнить:

#ifdef DEBUG
  // do stuff
#endif

Если вы хотите автоматизировать это, отредактируйте шаблоны проектов в "/Developer/Library/Xcode/Project Templates":

  • Найдите разделы XCBuildConfiguration, для которых name = Debug;.
  • В buildSettings добавьте DEBUG в список для GCC_PREPROCESSOR_DEFINITIONS, если он существует
  • В противном случае добавьте GCC_PREPROCESSOR_DEFINITIONS = (DEBUG); к buildSettings

Для пользовательских настроек и чтобы избежать ихпереписан, см. этот вопрос .

3 голосов
/ 12 июля 2010

Если вы можете предположить, что в отладочных сборках всегда используется gcc -O0 (это обычно так, но могут быть странные исключения, когда кто-то изменил уровень оптимизации для отладочных сборок), тогда вы можете сделать это:

#if __OPTIMIZE__
  // ... non-debug stuff ... 
#else
  // ... debug stuff ...
#endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...