отладочные максросы. Есть ли какое-то решение?

Тема в разделе "LANGS.C", создана пользователем Magnum, 22 июл 2008.

  1. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Задача такая

    Есть код

    Есть участок кода, который должен выполняться под отладчиком VS и не должен выполняться в релиз-версии. В идеале, в релизе его вообще быть не должно.

    Можно ли как-то это реализовать с помощью макросов? Т.е. без использования различных переменных?
     
  2. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    #ifdef DEBUG
    ..code..
    #endif
    Там когда ты компилишь дебуг-версию, компилятор автоматически передает директиву препроцессору #define DEBUG (или _DEBUG_), когда релиз-версию, он такого не делает
    Ну или сам объявляй, тогда в дебуг-версию нужно добавить будет #define DEBUG. Чтобы избавится от лишнего кода, достаточно будет лишь закомментить это строчку потом.
     
  3. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    о! это оно!
    спасибо огромное!
     
  4. n0hack

    n0hack New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2008
    Сообщения:
    71
    про условную компиляцию не слышали?
    #define DEBUG

    #ifdef DEBUG
    printf("Ага, отладочная версия...");
    #endif
     
  5. n0hack

    n0hack New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2008
    Сообщения:
    71
    опоздал )))
    а вобще-то никогда не испытывал необходимости в Debug версиях. уже несколько лет пишу только в release.
     
  6. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    Ну и зря. Вывод дебаг-сообщений например и сопутствующих сообщений порой очень помогают. Удобно однако=)
     
  7. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Э-э, народ, вы какими компиляторами пользуетесь?
    В MSVC всю жизнь было "_DEBUG" (именно в таком написании).
     
  8. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    Прав