Компиляция — это процесс перевода исходного кода MQL4/MQL5-программы на машинный язык. Ее результатом является создание исполняемого файла программы (*EX4 или *.EX5), который может быть запущен в торговой платформе.
Компиляция состоит из нескольких этапов:
|
Чтобы получить исполняемый файл программы, откройте основной исходный файл или проект через "Навигатор", а затем нажмите " Компилировать" в меню "Файл" или "F7". Протокол процесса компиляции будет отображен на вкладке "Ошибки" в окне "Инструменты". Если компиляция прошла без ошибок, вы можете запустить полученную программу в торговой платформе.
Если в процессе компиляции возникли ошибки или предупреждения, их описание будет показано на вкладке "Ошибки".
Ошибки компиляции обозначаются иконками как на вкладке "Ошибки", так и в самом коде при переходе к ним. При их возникновении исполняемый файл программы (*EX4 или *.EX5) не создастся. Чтобы перейти к строке, где возникла ошибка, дважды щелкните мышью на ошибке или нажмите " Перейти к строке" в контекстном меню. Номер строки и столбца, где была найдена ошибка, показываются в соответствующих колонках.
Предупреждения, обозначаемые иконкой , указывают на места возможного появления ошибок. То есть компилятор обращает внимание на те места исходного кода, которые могли быть неверно интерпретированы (например, неявная смена типа значения). Перейти к такой строке в коде можно точно так же, как и в случае с ошибками.
Иконками помечаются различные информационные сообщения. Например, сообщения о включаемых файлах, к которым обращалась программа при компиляции.
В редакторе предусмотрено два режима компиляции: с максимальной оптимизацией кода и без оптимизации.
Отсутствие оптимизации значительно сокращает время создания исполняемого файла. Используйте этот режим в активной стадии разработки, когда требуется быстро проверить написанный код. А уже при компиляции программы для реальной работы включайте режим максимальной оптимизации для наилучшей производительности.
Для переключения между режимами используйте меню "Сборка" или меню команды компиляции на панели инструментов:
Параметр "Максимальная оптимизация" в настройках проекта выполняет ту же функцию.
|
Современные процессоры имеют набор расширенных инструкций, значительно ускоряющих математические расчеты: AVX, AVX2, AVX512, FMA3. Эти инструкции поддерживаются в компиляторе MQL5, что позволяет генерировать более эффективный и быстрый код. При этом их использование является опциональным:
Чтобы узнать, какие инструкции поддерживает ваш процессор, воспользуйтесь бесплатной утилитой CPU-Z. После установки откройте раздел "CPU" и проверьте поле "Instructions":
Чтобы выбрать архитектуру процессора, воспользуйтесь меню компиляции. Далее нажмите "Компилировать". Вы также можете задать архитектуру в настройках MetaEditor и в настройках каждого проекта.
Если приложение скомпилировано под архитектуру, которая не поддерживается процессором пользователя, то при попытке его запустить в журнал платформы будет выведено соответствующее сообщение:
your CPU architecture does not allow to run the file '<file-name>.ex5': AVX512 required, you have AVX2 only |
Ограничения: