MetaEditor 帮助开发程序编译

编译

编译意即将 MQL4/MQL5 程序的源代码转换为机器语言。 结果是可以在交易平台上启动的可执行程序文件 (*.EX4 或 *.EX5)。

编译由几个阶段组成:

  • 词汇分析
  • 语法分析
  • 语义分析
  • 代码生成
  • 代码优化
  • 任何文件 (*.MQ4, *.MQ5 或 *.MQH) 均可被编译, 但可执行文件 (*.EX4 或 *.EX5) 只能通过编译 主体的 MQ4/MQ5 程序文件或 项目 才能得到。
  • 可执行文件以其自己的格式创建,隐藏原始程序算法。
  • 已编译的执行 EX4/EX5 文件可以在没有 MQ4、MQ5 和 MQH 源文件的情况下分发。 没有它们,调试是不可能的。 也不建议分发调试过程中得到的可执行 EX4/EX5 文件。

若要得到可执行文件,通过 导航器 打开 主体 源文件或项目 并点击 编译 编译在 文件 菜单里或按 F7。 编译过程显示在工具箱窗口的 错误 选项卡上。 如果编译通过没有错误,您可以在交易平台上运行获得的程序。

编译程序并在 "错误" 选项卡上显示结果

如果有错误或警告,它们将显示在错误选项卡上。

编译错误标有错误在错误选项卡上以及相应的代码段中。 如果这种情况发生,则不会创建可执行程序文件 (*.EX4 或 *.EX5)。 若要跳转到错误字符串,请双击错误或单击跳转到行在关联菜单中跳转到行命令。 字符串和检测到错误的列将显示在相应的列中。

警告标有警告图标表示潜在错误的地方。 这些是可能被误解的源代码段 (例如,隐性数值类型变更)。 您可以像错误一样跳转到这些代码字符串。

信息图标代表各种信息消息,例如,关于在编译过程中访问的头文件的消息。

编译模式 #

编辑器提供两种编译模式:包含最大限度的代码优化和没有优化。

当优化功能被禁用时,创建可执行文件所需的时间会明显减少。当您需要快速检查编写代码时,请在开发阶段使用此模式。然后,在最终程序编译期间,打开最大优化模式以获得最佳性能。

要在这些模式之间切换,可以使用 "构建 "菜单或工具栏上的编译命令菜单。

控制编译模式

项目设置中的“最大优化”参数执行相同的功能。

  • 完整的编译错误描述已在 MQL4/MQL5 语言帮助中提供。
  • 在出现警告的情况下,依然会生成可执行文件。 但不应忽略警告,因为它们表明潜在的代码错误。
  • 在编译期间, 可执行文件 (*.EX4 或 *.EX5) 与程序的 主体源文件 (*.MQ4 或 *.MQ5) 亦或 项目 生成在同一目录下。
  • metaeditor.exe 可用作 第三方集成开发环境的外部编译器