文章 "从基础到中级:Include 指令"

 

新文章 从基础到中级:Include 指令已发布:

在今天的文章中,我们将讨论一个在 MQL5 中可以找到的各种代码中广泛使用的编译指令。虽然这里对这个指令的解释相当肤浅,但重要的是你要开始了解如何使用它,因为随着你进入更高层次的编程,它很快就会变得不可或缺。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。

在这篇文章中,我们将讨论一个对你非常有帮助的话题。一旦解释清楚,我将能够开始展示更复杂的代码示例。到目前为止,在不利用 MQL5 中可用的某些资源的情况下编写代码对我来说是相当具有挑战性的。尽管你们中的一些人可能认为这对我来说很容易,但事实上,在没有这些资源的情况下编写代码是一个重大的挑战。但现在,我们将在已经可以做的事情列表中添加一些新功能。

我所指的资源是编译指令的使用。如果没有这些指令,我们能做的很多事情都会变得非常有限,迫使我们编写比实际编程场景中所需更多的代码。

与许多人的想法相反,编译指令不会使代码更加混乱。它们的主要目的恰恰相反:使代码更简单、更快、更容易处理和修改。问题是,许多初学者要么忽略了,要么没有学会如何正确使用这个资源。这可能是因为一些编程语言的工具包中没有这样的资源。一些不包含编译指令的语言示例包括 JavaScript 和 Python。虽然这些语言在普通程序员中很受欢迎,但它们不适合创建某些类型的应用程序。然而,这里的目的不是讨论这些语言,而是专注于MQL5。那么,让我们从本文的第一个主题开始。

作者:CODE X

 

作者又在胡说八道了。引用:"但是,C/C++ 中的一些指令在 MQL5 中是不可用的。其中之一就是 #ifdef,虽然它看起来无趣,但在某些时候却能帮助我们控制我们正在处理的版本的某些部分。"

#ifdef 在 MQL4 和 MQL5 中已经存在了很长时间。

#define  PRINT

int OnInit()
{
#ifdef  PRINT
    Print("MQL5中的ifdef是");
#endif     
    return(INIT_SUCCEEDED);
}
 
Alexey Volchanskiy #:

作者又在胡说八道了。引用:"但是,C/C++ 中的一些指令在 MQL5 中是不可用的。其中之一就是 #ifdef,虽然它看起来无趣,但在某些时候却能帮助我们控制我们正在处理的版本的某些部分。"

#ifdef 在 MQL4 和 MQL5 中已经存在了很长时间。

您为什么要读这个?🤦‍♀️

 
Alexey Volchanskiy #:

作者又在胡说八道了。引用:"但是,C/C++ 中的一些指令在 MQL5 中是不可用的。其中之一就是 #ifdef,虽然它看起来无趣,但在某些时候却能帮助我们控制我们正在处理的版本的某些部分。"

#ifdef 在 MQL4 和 MQL5 中已经存在了很长时间。

Alexey Viktorov#:

您为什么阅读此文?🤦‍♀️

他在基地的昵称是 vDev - 这是他的主题!!!

Lekha - 让我们硬着头皮测试!!!!)

 
Alexey Volchanskiy # :

作者正在从头开始。说明:"C/C++ 中存在一些 MQL5 中没有的规则。其中之一是 #ifdef,虽然它可能看起来令人不快,但在某些方面确实有助于控制我们正在使用的版本的某些部分。"

#ifdef 已在 MQL4 和 MQL5 中使用了很长时间。

对不起。不过,我在文中提及该指令是个错误。我的本意是指 #if 指令,因为 #ifdef 指令等同于 C 和 C++ 中的 #if defined 指令。但在 MQL5 中,我们使用 C 和 C++ 中也有的 #ifdef。同样,目的是参考 #if 指令,它的目的完全不同,甚至可以用来检查定义的值。但由于我的书写错误,我最终写了 #ifdef,却没有意识到这一点。我为自己的疏忽道歉。👍

 
CODE X #:

对不起。不过,我在文中提及指令时出现了错误。我的目的是引用 #if 指令,因为 #ifdef 指令等同于 #if defined 指令,后者在 C 和 C++ 中都有。但在 MQL5 中,我们使用 #ifdef,它也存在于 C 和 C++ 中。同样,目的是参考 #if 指令,它的目的完全不同,甚至可以用来检查定义的值。但由于我的书写错误,我最终写了 #ifdef,却没有意识到这一点。请原谅我的疏忽。👍

没关系,每个人都有失误的时候 )

 
Alexey Viktorov #:

🤦‍♀️

我无意中看到了这篇文章,网站在链接中给出了它。