В чем отличия библиотеки от включаемых файлов

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Андрей
497
Андрей  
Подскажите что и в каких ситуациях лучше использовать когда библиотеку а когда включаемые файлы ?
Андрей
497
Андрей  
при создании в терминале
JDA
482
JDA  
snik_666 >>:
Подскажите что и в каких ситуациях лучше использовать когда библиотеку а когда включаемые файлы ?

Библиотеки стоит использовать если только нет исходников (вызов функций медленный по словам разработчиков).

Vadim Zhunko
5136
Vadim Zhunko  

Разница во времени незначительная. Время занимает первый вызов.

По поводу разницы между библиотекой и включаемым файлом.... Это принципиально разные вещи. Также, можно сравнивать ножницы с апельсином применительно к натюрморту.

Включаемый файл это просто часть кода. Для удобства и читаемости кода выделенная в отдельный файл. Библиотека это набор функций.

Функции библиотеки необходимо импортировать. Вот здесь уже есть разница и есть, что сравнивать. Как производить импорт? Через код импорта конкретных функций в своём коде или с помощью заголовочного файла всех функций?

Предпочитаю второй вариант. Он универсальный.

Alexandr Matrosov
179
Alexandr Matrosov  
snik_666 >>:
Подскажите что и в каких ситуациях лучше использовать когда библиотеку а когда включаемые файлы ?

Доброго времени суток! Профи себя не считаю, но сталкивался с проблеммой 'позднего связывания' в таком варианте: вызов библиотечной функции из двух и более Советников одновременно приводит к ошибке. Поэтому предпочитаю использовать заголовочные файлы. Т.к. все необходимое вшивается в EX4 файл при компиляции и нет возможности нарваться на ошибки из-за: повреждения\удаления\одновременного вызова несколькими Советниками функций из общей библиотеки.

P.S.Чтоб у вас все было и вам за это ничего не было.

Yuriy Vins
1502
Yuriy Vins  
Есть ли еще отличия библиотек функций от включаемых файлов, кроме того что включаемый файл - это часть кода, записанный в файл, а библиотека - это набор функций ? Если можно, кто-нибудь опишите подробнее. 
Vasiliy Sokolov
31084
Vasiliy Sokolov  
Yuriy Vins:
Есть ли еще отличия библиотек функций от включаемых файлов, кроме того что включаемый файл - это часть кода, записанный в файл, а библиотека - это набор функций ? Если можно, кто-нибудь опишите подробнее. 

Библиотека - это скомпилированный набор функций и данных. Выглядит этот набор как обычная двоичная программа MQL с расширением ex5 или ex4. 

Включаемый файл mqh - это исходный код части программы, который как правило также содержит функции и данные. 

Если включаемый файл mqh обозначить директивой #property library, то компилятор преврати его в двоичную библиотеку.

Разница между этими типами в использовании. Обычный файл mqh включается в программу на этапе компиляции. Его коды и данные становятся неделимой частью программы ex5, расположенной в единственном файле. С библиотекой сложнее. Ее код (прежде всего функции) доступен из вне. Т.е. это некий (упрощенный) аналог dll, который может вызвать программа ex5. Для чего нужны dll я думаю, объяснять не нужно.

Yuriy Vins
1502
Yuriy Vins  
Vasiliy Sokolov:

Библиотека - это скомпилированный набор функций и данных. Выглядит этот набор как обычная двоичная программа MQL с расширением ex5 или ex4. 

Включаемый файл mqh - это исходный код части программы, который как правило также содержит функции и данные. 

Если включаемый файл mqh обозначить директивой #property library, то компилятор преврати его в двоичную библиотеку.

Разница между этими типами в использовании. Обычный файл mqh включается в программу на этапе компиляции. Его коды и данные становятся неделимой частью программы ex5, расположенной в единственном файле. С библиотекой сложнее. Ее код (прежде всего функции) доступен из вне. Т.е. это некий (упрощенный) аналог dll, который может вызвать программа ex5. Для чего нужны dll я думаю, объяснять не нужно.

Благодарю 🙏!!!
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий