Задача такая Есть код Есть участок кода, который должен выполняться под отладчиком VS и не должен выполняться в релиз-версии. В идеале, в релизе его вообще быть не должно. Можно ли как-то это реализовать с помощью макросов? Т.е. без использования различных переменных?
#ifdef DEBUG ..code.. #endif Там когда ты компилишь дебуг-версию, компилятор автоматически передает директиву препроцессору #define DEBUG (или _DEBUG_), когда релиз-версию, он такого не делает Ну или сам объявляй, тогда в дебуг-версию нужно добавить будет #define DEBUG. Чтобы избавится от лишнего кода, достаточно будет лишь закомментить это строчку потом.
про условную компиляцию не слышали? #define DEBUG #ifdef DEBUG printf("Ага, отладочная версия..."); #endif
опоздал ))) а вобще-то никогда не испытывал необходимости в Debug версиях. уже несколько лет пишу только в release.
Ну и зря. Вывод дебаг-сообщений например и сопутствующих сообщений порой очень помогают. Удобно однако=)
Э-э, народ, вы какими компиляторами пользуетесь? В MSVC всю жизнь было "_DEBUG" (именно в таком написании).