- Предопределенные макроподстановки
- Математические константы
- Константы числовых типов
- Причины деинициализации
- Проверка указателя объекта
- Прочие константы
Предопределенные макроподстановки
Для облегчения отладки и получения информации о работе mql5-программы введены специальные константы-макросы, значения которых устанавливается в момент компиляции. Самый простой путь использования этих констант – вывод значений с помощью функции Print(), как показано в примере.
Константа |
Описание |
---|---|
__CPU_ARCHITECTURE__ |
Имя архитектуры (набор команд), под которую собран файл EX5 при компиляции |
__DATE__ |
Дата компиляции файла без времени (часы, минуты и секунды равны 0) |
__DATETIME__ |
Дата и время компиляции файла |
__LINE__ |
Номер строки в исходном коде, на которой расположен данный макрос |
__FILE__ |
Имя текущего компилируемого файла |
__PATH__ |
Абсолютный путь к текущему компилируемому файлу |
__FUNCTION__ |
Имя функции, в теле которой расположен макрос |
__FUNCSIG__ |
Сигнатура функции, в теле которой расположен макрос. Вывод в лог полного описания функции с типами параметров может пригодиться при идентификации перегруженных функций |
__MQLBUILD__, __MQL5BUILD__ |
Номер билда компилятора |
__COUNTER__ |
Компилятор для каждого встретившегося объявления __COUNTER__ подставляет по месту значение счетчика от 0 до N-1, где N – число использований в коде. При перекомпиляции исходного кода без изменений порядок __COUNTER__ гарантируется. Значение счетчика __COUNTER__ вычисляется следующим образом:
В примере ниже можно наглядно увидеть, как компилятор обрабатывает исходный код и заменяет встретившиеся __COUNTER__ на последовательно возрастающие значения. |
__RANDOM__ |
Компилятор для каждого объявления __RANDOM__ подставляет в код случайное ulong-число. |
Пример:
//+------------------------------------------------------------------+
|
Пример для изучения работы с макросом __COUNTER__
//--- создадим макрос для быстрого вывода в журнал выражения и его значения
|