导入函数是编程中常见的操作,它使我们可以引用其他已编译模块或操作系统模块中的功能。了解如何正确导入和调用这些函数对于编写高效、稳健的代码至关重要。
1. 基础语法
导入函数的基本格式为:
#import "文件名"
函数1定义;
函数2定义;
...
函数N定义;
#import
2. 注意事项
- 导入的函数可以使用任何名称。
- 同时可以从不同的模块导入同名的函数。
- 导入的函数名可以与内置函数名相同。此时,范围解析操作决定调用哪个函数。
- 编译器无法验证传递给导入函数的参数的有效性,因此必须准确描述传递给导入函数的参数的组成和顺序。
- 导入函数的参数中不能使用指针或引用包含动态数组和/或指针的对象。
3. 示例
从操作系统模块导入:
#import "user32.dll"
int MessageBoxW(uint 窗口句柄, string 文本, string 标题, uint 类型);
#import
这里我们导入了一个名为MessageBoxW
的函数,该函数可以显示一个消息框。
从已编译模块导入:
#import "libFunctions.ex4"
string 获取错误描述(int 错误码);
int 色彩编码(int 红色值, int 绿色值, int 蓝色值);
bool 比较双精度数字(double 数字1, double 数字2);
string 浮点数转字符串(double 数字, int 精度);
#import
在这个例子中,我们导入了四个函数,每个函数都具有不同的功能,例如转换颜色值或比较数字。
4. 加载和绑定
在执行mql4程序时,会使用早期绑定来导入函数。这意味着在使用其ex4程序加载程序时,库将被加载。建议不要使用可加载模块的完全限定名,如Drive:\Directory\FileName.Ext
。MQL4库从terminal_dir\MQL4\Libraries
文件夹加载。
总之,导入函数为我们提供了从其他模块获取功能的强大工具。正确地使用这个功能可以使我们的代码更加模块化,易于维护,并允许我们利用现有的资源。当然,使用导入函数时,必须确保正确描述和传递参数,以避免运行时错误。