Действительно ли необходимо явно определять «undefine», даже когда определение закомментировано?

1

У меня возникли проблемы с выполнением этого кода:

#if TRACE
            dbgLog = new LogInfo( "PlatypusCE" );
#endif   

Это происходило, хотя "TRACE" был прокомментирован выше, сразу после большого блока комментариев общего характера:

//#define TRACE

Как только я добавил это ниже:

#undef TRACE

... так что это:

//#define TRACE
#undef TRACE

... он работает по желанию, хотя (код "#if TRACE" не выполняется).

Действительно ли нужно деформировать то, что не было определено (прокомментировано)? Кажется, странно.

Теги:
conditional-compilation

2 ответа

3
Лучший ответ

По умолчанию в профилях Debug и Release Visual Studio определит константу TRACE. Вы можете изменить это поведение в настройках проекта (на вкладке " Build "). Константа DEBUG аналогична, по умолчанию активна в профиле Debug (но не в Release).

2

TRACE - одна из двух констант, определенных по умолчанию для отладочных сборников:

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню