在MQL4编程中,有时我们需要在一个程序中创建的函数被其他程序调用,此时,我们可以使用export后缀修饰符来声明这样的函数。这种函数被称为”可导出的”,在编译后,它可以被其他程序调用。
例如,我们定义了一个名为Function的函数,并使用export修饰符声明,如下所示:
int Function() export
{
}
这个修饰符告诉编译器将该函数添加到由此ex4文件导出的EX4函数表中。只有使用了此修饰符的函数才能从其他MQL4程序中访问(“可见”)。
library属性则告诉编译器该EX4文件将作为一个库,编译器会在EX4的头部显示它。
如果你计划将某个函数作为可导出的,那么必须使用export修饰符来标记。
例如,我们想创建一个库,里面包含两个可以被其他程序调用的函数:CalculateSum和CalculateDifference。在这种情况下,我们需要对这两个函数都添加export修饰符。
int CalculateSum(int a, int b) export
{
return a + b;
}
int CalculateDifference(int a, int b) export
{
return a - b;
}
在严格模式下编译库时,每一个要导出的函数都应该添加export修饰符,否则该函数将无法从外部访问。
总的来说,export修饰符在MQL4编程中扮演了重要的角色,它使我们可以在一个程序中创建的函数被其他程序调用。此外,为了确保函数能够被正确地导出,我们还需要确保在编译库时使用了严格模式,并为每一个要导出的函数都添加了export修饰符。