Понятно что не сложно сделать самопальный компилятор множества mqh в один исходный код, но мне интересно как живут, сколько уже, сотня может фрилансеров есть?, Каждый сам себе написал компилятор, или пишут любого объема код в одном файле, или в ручную объединяют в один файл, или я индеец не знаю о наличии секретной кнопки mql5 IDE, которая делает это автоматически?
Понятно что не сложно сделать самопальный компилятор множества mqh в один исходный код, но мне интересно как живут, сколько уже, сотня может фрилансеров есть?, Каждый сам себе написал компилятор, или пишут любого объема код в одном файле, или в ручную объединяют в один файл, или я индеец не знаю о наличии секретной кнопки mql5 IDE, которая делает это автоматически?
Да, есть такое - https://www.mql5.com/en/code/27955
![MQL5 Program Packer MQL5 Program Packer](https://c.mql5.com/36/58/mql5-program-packer.jpg)
- www.mql5.com
Не могу понять зачем весь проект обьединять в один файл??? Почему нельзя отправить проект с отдельными исходными файлами? Чем отправка exe отличается от отправки одного огромного говнофайла с исходным кодом?
Странный вопрос. Обычно удобно отправить архив исходников - один файл. Вы ручками все зависимости собираете? И исполняемый файл (exe, он же ex5) - это же не исходник.
И да, текущие проекты проблемы не решают.
Странный вопрос. Обычно удобно отправить архив исходников - один файл. Вы ручками все зависимости собираете? И исполняемый файл (exe, он же ex5) - это же не исходник.
И да, текущие проекты проблемы не решают.
Согласен. Странно что нет штатного решения получения кода с инклудами в одном файле.
ЗЫ и конечно нужны настройки что вносить, что не вносить в код. Все библы которые есть в поставке терминала внести иногда конечно это слишком.
Странный вопрос. Обычно удобно отправить архив исходников - один файл. Вы ручками все зависимости собираете? И исполняемый файл (exe, он же ex5) - это же не исходник.
И да, текущие проекты проблемы не решают.
Обычно, в архив пакуют папку с проектом и папку Include с собственными файлами. В чем собственно проблема? Почему нельзя сделать скрипт:
cp -r <mql5_dir>/Experts/SuperPuperTrader <tmp_dir>/Experts/SuperPuperTrader
cp -r <mql5_dir>/Includes/my_includes <tmp_dir>/Includes/my_includes
А после этого, запаковать эту папку? Так делают абсолютно все, я ни разу не видел ни тут, в разделе статей, ни где бы то либо еще подобного веселого говнорешения со сбором всего проекта в одном файле, который потом невозможно разобрать. То есть, вы специально делаете лютый геморой заказчику, что бы следующий кодер который будет разбирать обратно по файлам вашего бота, назвал вас никчемным?
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Это наверное больше касается фрилансеров и необходимости отправки исходного когда заказчику.
Понятно, что для удобства написания более менее объемного кода, предпочтительно его(код) разбить на логически соответствующие подфайлы, чтобы этот код не превратился в огромное спагетти, сложное для редактирования, модернизации, да и вообще чтения.
Разбиваем на инклуды, у меня это выглядит примерно так(см. вложение jpg)
Далее, отправить exe не проблема, но отправлять заказчику exe без исходного = хамство и наглость.
Чтобы отправить исходный, нужно пройтись по всем инклудам, ctrl+shift+end ctrl+C ctrl+V.
Не очень удобно и быстро, рутинно.
Вопрос, может я не знаю, есть ли некий функционал в компиляторе, позволяющий автоматически сформировать из всех инклудов один единый с открытым кодом файл?