mql5语言的特点、微妙之处以及技巧 - 页 120

 
这有点像他们想过滤掉重新连接的问题。我不记得它是如何结束的。
 
Andrey Khatimlianskii:
似乎他们想过滤重复启用。我不记得它是如何结束的。

它似乎一直是这样被过滤的。至少在我有记忆的时候是这样。但#ifndef还是比较安全的,因为如果同一个文件通过不同的路径(符号/硬链接)被包含,ME不会理解为是同一个文件。

另一方面,这也是一把双刃剑。 如果事实证明这些文件真的是不同的(不同的版本),那么可能会出现混乱,没有人知道哪个文件被包括在内,所以开发者需要解决这个问题,不是通过符号文件路径来过滤,而是通过真实路径。

 
也许这个问题是关于图书馆的,而不是关于入侵者的?
 
SemenTalonov:

很奇怪,指令被放进去却没有被使用。

类似的用途,但为每个mqh开这个处方几乎是疯狂的。

安德烈-哈蒂姆连斯基
似乎他们想过滤掉重新启用。我不记得它是如何结束的。

重新插入被忽略了。

TheXpert
也许这个问题是关于图书馆的,而不是关于入侵者的?

我从未使用过ex4/5库,所以我指的是inluders。

 
fxsaber:

重新激活被忽略了。

有什么问题呢?

关于交易、自动交易系统和策略测试的论坛

mql5语言的特点、微妙之处以及技巧

fxsaber, 2019.01.14 17:30

当连接库时,每个库都在自己内部连接相同的库,该怎么做?


?

 
Andrey Khatimlianskii:

那么这有什么问题呢?

现在没有什么问题,但如果我理解正确的话,建议取消。

关于交易、自动交易系统和策略测试的论坛

mql5语言的特殊性,技巧和窍门

Alexey Navoykov, 2019.01.14 15:26

在C++中,编译器严格地从上到下处理代码,所以从上到下的所有东西都已经被初始化了。 而且你不能向下寻址。这就是为什么它是明确的。 既然开发者在这里引入了一些他们自己的规则,就让他们确保代码执行的正确顺序。

 
fxsaber:

现在好了,但有人建议应该取消,如果我理解正确的话。

与嵌合体有什么关系?
 
fxsaber:

现在没有任何问题,但有人建议应该取消,如果我理解正确的话。

不,这是被误解了。

有人建议预处理程序按顺序处理代码。在这种情况下,在代码中以同样的方式在第一次提到的地方插入inludes。
 
Andrey Khatimlianskii:

不,你搞错了。

建议用预处理器来处理代码的顺序。同时,在代码中插入inludes,以取代第一次提到的位置。

重点是,如果你打算使用的函数是在inlude中指定的,你需要根据建议来写,如果inlude在下面。

 
fxsaber:

重点是,如果你在inlude中指定了你要使用的函数,你需要按照建议的顺序来写它们,如果inlude在下面。

//gcc 5.4.0

int main(void)
{
    g();
    return 0;
}

void g() {f();}

void f() {}

你说过订单的事,但忘了multipass的事。

而且,似乎有几处违约的订单