Обсуждение статьи "От начального до среднего уровня: Директива Include"

 

Опубликована статья От начального до среднего уровня: Директива Include:

В сегодняшней статье мы поговорим о директиве компиляции, широко используемой в различных кодах, которые можно найти в MQL5. Хотя данную директива будет объяснена здесь довольно поверхностно, важно, чтобы вы начали понимать, как ее использовать, поскольку вскоре она станет незаменимой при переходе на более высокий уровень программирования. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.

Поэтому в этой статье мы рассмотрим тему, которая может здорово помочь вам. По крайней мере, после того, как всё будет объяснено, я смогу начать показывать более сложный код, так как пока было довольно сложно создавать код без использования определенных ресурсов, доступных в MQL5. Хотя некоторые из вас могут подумать, что мне это далось легко, на самом деле писать код без использования определенных ресурсов очень сложно. Однако, теперь мы добавим несколько элементов к нашему списку достижений.

Ресурс, который я имею в виду, - это директивы компиляции. Без этих элементов мы сильно ограничены во многом, и нам придется писать гораздо больше кода, чем это было бы необходимо в реальной среде программирования.

Директивы компиляции, вопреки мнению многих, не делают код более запутанным, а наоборот. Его главная цель - упростить, упорядочить и облегчить работу с кодом и его модификацию. Но дело в том, что многие новички игнорируют их или не прилагают усилий, чтобы научиться правильно их использовать, возможно, потому что некоторые языки программирования не имеют этого ресурса в своем репертуаре. Примерами языков, в которых нет директив компиляции, являются JavaScript и Python. Хотя они довольно популярны среди непрофессиональных программистов, они не подходят для разработки некоторых типов приложений. Однако здесь мы хотим поговорить не об этих языках, а о MQL5. Давайте начнем с первой темы этой статьи.

Автор: CODE X

 

Опять у автора бред. Цитата:« Но в C/C++ есть некоторые директивы, которых нет в MQL5. Одной из таких является #ifdef, которая, хотя и может показаться неинтересной, в какие-то моменты очень помогает нам контролировать определенные части версии, над которой мы работаем. »

#ifdef есть в MQL4 и MQL5 очень давно.

#define PRINT

int OnInit()
{
#ifdef PRINT
    Print("ifdef в MQL5 есть");
#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 - это его тема!!! 

Леха - давай скальпа тестить!!!! )

 
Alexey Volchanskiy # :

O autor está falando bobagem de novo. Citação: " Mas em C/C++ há algumas diretivas que não estão no MQL5. Um deles é o #ifdef, que, embora possa parecer desinteressante, em alguns pontos realmente nos ajuda a controlar certas partes da versão em que estamos trabalhando. »

#ifdef está no MQL4 e MQL5 há muito tempo.

Извини. Однако с моей стороны была допущена ошибка при ссылке на указание в тексте. Моей целью было сослаться на директиву #if, поскольку директива #ifdef является эквивалентом директивы #if defined, присутствующей в C и C++. Но чтобы обобщить это здесь, в MQL5, мы используем #ifdef, который также присутствует в C и C++. Опять же, целью будет ссылка на директиву #if, цель которой совершенно иная и которую можно использовать даже для проверки значений определений. Но из-за моей ошибки при написании я в итоге поставил #ifdef и не понял этого. Приношу извинения за эту оплошность с моей стороны. 👍

 
CODE X #:

Извини. Однако с моей стороны была допущена ошибка при ссылке на указание в тексте. Моей целью было сослаться на директиву #if, поскольку директива #ifdef является эквивалентом директивы #if defined, присутствующей в C и C++. Но чтобы обобщить это здесь, в MQL5, мы используем #ifdef, который также присутствует в C и C++. Опять же, целью будет ссылка на директиву #if, цель которой совершенно иная и которую можно использовать даже для проверки значений определений. Но из-за моей ошибки при написании я в итоге поставил #ifdef и не понял этого. Приношу извинения за эту оплошность с моей стороны. 👍

Ничего, у всех бывает )

 
Alexey Viktorov #:

А ты зачем это читаешь?🤦‍♀️

Случайно попалась статья, сайт выдал в ссылках.