---
title: "生成包含代码 - 开发程序 - MetaEditor 帮助"
description: "MetaEditor 提供从当前文件的导出函数生成头文件 (*.mqh) 的功能。 它可以让其他用户轻松访问您的函数，而无需透露其源代码。 要做到这一点，只需提供一个生成的 mqh 文件和一个其内实现了函数的完成 EX4/EX5 文件。 打开... - 生成包含代码 - 开发程序 - MetaEditor 帮助"
image: "https://www.metatrader5.com/i/logo_metatrader5.png"
---

[MetaEditor 帮助](https://www.metatrader5.com/zh/metaeditor/help) → [开发程序](https://www.metatrader5.com/zh/metaeditor/help/development) → 生成包含代码

# 生成头文件

MetaEditor 提供从当前文件的导出函数生成头文件 (*.mqh) 的功能。 它可以让其他用户轻松访问您的函数，而无需透露其源代码。 要做到这一点，只需提供一个生成的 mqh 文件和一个其内实现了函数的完成 EX4/EX5 文件。

## 生成过程

打开 MQ4/MQ5 文件并单击![生成 mqh 文件](https://www.metatrader5.com/i/help/metaeditor/en/generate_mqh_icon.png) 位于 [工具](https://www.metatrader5.com/zh/metaeditor/help/main_menu/main_menu_tools) 菜单里的生成头文件。 mqh 文件按以下方式生成:

- 当前打开的文件包扩所有含 [export](https://www.mql5.com/zh/docs/basis/function/export) 后置修饰符的函数。
- 带有 [#import](https://www.mql5.com/zh/docs/basis/preprosessor/import) 指令的头文件并生成检测到的函数描述。
- 如果未找到导出函数，则显示相应的消息。
- 如果源文件位于 /Libraries 文件夹中，则 #import 指令中的模块名称是自 /Libraries 目录的相对路径。 如果一个文件位于另一个目录中，则只在 #import 中替换 EX4/EX5 文件名。

| 如果当前文件是一个头文件 (*.mqh) ，则生成命令不起作用。 |
| --- |

## 生成路径

mqh 文件的创建目录取决于源文件的位置:

- 如果当前文件位于 /Libraries 目录或其某个子目录中，则直接在 /Include 文件夹中生成头文件。
- 如果源文件位于其它目录中，则会在同一位置生成头文件。

```json
{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {"@type": "ListItem", "position": 1, "item": {"@id": "/zh/metaeditor/help", "name": "MetaEditor 帮助"}}, {"@type": "ListItem", "position": 2, "item": {"@id": "/zh/metaeditor/help/development", "name": "开发程序"}}, {"@type": "ListItem", "position": 3, "item": {"@id": "/zh/metaeditor/help/development/generate_mqh", "name": "生成包含代码"}} ]}
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "MetaTrader 5: 生成包含代码", "acceptedAnswer": { "@type": "Answer", "text": "MetaEditor 提供从当前文件的导出函数生成头文件 (*.mqh) 的功能。 它可以让其他用户轻松访问您的函数，而无需透露其源代码。 要做到这一点，只需提供一个生成的 mqh 文件和一个其内实现了函数的完成 EX4/EX5 文件。 打开 MQ4/MQ5 文件并单击 位于 工具..." } }] }
```
