За то же за что и DEBUG NDEBUG в студии. Подозреваю, что _DEBUG для отладки и позволит ускорить код за счет облачения этим макросом отладочного кода и логов.
В принципе, у меня уже давно работает псевдо DEBUG-RELEASE система, основанная на переключении инклюдов.
Как раз пару дней назад профилировал код, и с удивлением выяснил, что в дебаг-версии у меня большая часть времени работает функция IntegerToString(), работающая в макросе TRACE(). Отладочная версия скрипта - работает раз в десять медленнее, чем релизная...
#property copyright"000"#property link"000"#property strict//============= Варианты компиляции#ifndef TestMode
#define TestMode
#endif
Это начало и никакого существенного кода нет, пока только шаблон.
TimerEvent.mqh:
// Если советник компилируется в режиме тестирования то отметим прохождение этого места#ifdef TestMode
LOG("Начало TimerEvent.mqh");
#endif
//*************************Начало*************************************//*************************Конец**************************************#ifdef TestMode
LOG("Конец TimerEvent.mqh");
#endif
Режим тестирования подразумевается тогда когда после написания я цепляю его на график и начинаю пробовать все функции. Для корректной настройки советника необходимо вести подробный лог.
Далее TestMode я переключаю на false, и в коде исчезают все коментарии для разработчика. Но по примеру из справочника у меня не получилось. В чем может быть проблема?
ИМХО, пока на панель MetaEditor не добавят переключатель этих макросов при сборке, считаю их бесполезными, потому что
в тестере не сработает.
Замечательно !
В принципе, у меня уже давно работает псевдо DEBUG-RELEASE система, основанная на переключении инклюдов.
Как раз пару дней назад профилировал код, и с удивлением выяснил, что в дебаг-версии у меня большая часть времени работает функция IntegerToString(), работающая в макросе TRACE(). Отладочная версия скрипта - работает раз в десять медленнее, чем релизная...
В общем, прекрасная новость.
Сомнительная реализация #ifdef
понятно, что ошибка, но компилятор - молчитДля MQL4 не работает пример из справочника:
Написал такой код:
Defines.mqh :
VariablesOfCompiling.mqh :
Это начало и никакого существенного кода нет, пока только шаблон.
TimerEvent.mqh:
Режим тестирования подразумевается тогда когда после написания я цепляю его на график и начинаю пробовать все функции. Для корректной настройки советника необходимо вести подробный лог.
Далее TestMode я переключаю на false, и в коде исчезают все коментарии для разработчика. Но по примеру из справочника у меня не получилось. В чем может быть проблема?
Заранее спасибо.