|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.03.2012, 19:37 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Не хитрые, но значимые вещи. Как обьявить логический DEFINE?
Доброго времени суток!
Стороних средств уже маловато для отладки, и есть вещи которые хочется видеть самому, в ходе разработки. Одной такой вещью, является ведение лога с параноидальным выводом всего и вся. С этим проблем у меня не возникает, но нужно для каждого релиза лазить по коду и комментировать создание обьектов, а это уже ой как задолбало. Часто вижу как где-то используется такие штуки как define. Как их обьявить? И как это сделать ввиде *.inc файла? Хотелось бы тупо ставить {$define ISDBG ON} и компилятор включал бы весь код создания моих обьектов, а при {$define ISDBG OFF} вырезал весь не нужный код. Гугл толком ничего не дал. Пожалуйста, дайте нормальных ссылок, или сами расскажите как это делать |
08.03.2012, 20:09 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
I'm learning to live...
|
08.03.2012, 21:02 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
добавлю что в последних версиях есть дебаг и релиз сборки. в каждой можно определить свой набор дефайнов(в дебаге обычно сразу определен символ Debug)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.03.2012, 03:41 | #4 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
У символов условной компиляции нет состояния. Им нельзя сделать "ON", "OFF", "зелёный", "3". Их можно определить и удалить. Соответственно, произвольный символ может быть или опеределён или не определён.
Код:
Поэтому, если ты хочешь включать и выключать отладочные проверки в run-time, тебе вместо символов нужно использовать обычные флажки: Код:
Цитата:
Обычно это используется, чтобы разделить сложную логику между несколькими модулями. Например, в .inc файлах могут быть такие строки: Код:
Замечу, что в твоём случае это навряд ли пригодится, т.к. есть вполне себе стандартный символ DEBUG. Ты можешь делать {$IFDEF DEBUG}. Тебе нет необходимости расписывать это по дополнительным символам.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
Последний раз редактировалось Stilet; 09.03.2012 в 11:58. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
#define | Артэс | Общие вопросы C/C++ | 3 | 11.01.2012 19:50 |
обьявить програмно связь таблиц access из delphi | kelod | БД в Delphi | 7 | 15.07.2010 17:53 |
Выделить из числа значимые восьмиричные разряды | green_ | Помощь студентам | 2 | 28.10.2009 19:43 |
#define | JOFRIF | Общие вопросы C/C++ | 7 | 21.07.2009 18:26 |
Как обьявить переменную типа AnsiString глобально | Kocapb | Общие вопросы C/C++ | 6 | 19.12.2007 05:05 |