Действительно ли необходимо явно определять "undefine", даже когда определение закомментировано?
У меня были некоторые проблемы с выполнением этого кода:
#if TRACE
dbgLog = new LogInfo( "PlatypusCE" );
#endif
Это происходило, хотя "TRACE" было прокомментировано выше, сразу после большого блока общих комментариев:
//#define TRACE
Как только я добавил это ниже этого:
#undef TRACE
... так что это:
//#define TRACE
#undef TRACE
... хотя работает как надо (код "#if TRACE" не выполняется).
Действительно ли необходимо определить что-то, что не было определено (закомментировано)? Кажется, странно.
2 ответа
Решение
По умолчанию в профилях Debug и Release Visual Studio определяет TRACE
постоянная. Вы можете изменить это поведение в настройках проекта (в Build
вкладка). DEBUG
Константа аналогична, активна по умолчанию в профиле отладки (но не в Release).
TRACE
является одной из двух констант, определенных по умолчанию для отладочных сборок: