Для чего нужен зарезервированный тип trash ?

 

Задавая имя объекту случайно обнаружил, что trash подсветилось синим цветом и это имя для переменной использовать нельзя.

В журнале ошибок выдаёт как вроде это какой-то новый тип данных.

trash a;

Было бы интересно узнать про это у разработчиков.

 

Если не ошибаюсь года два назад разработчики отприсывались, что trash - это необязательный "атрибут" для функций, который включает обфурскацию выполняемого кода.
Это делает на порядок труднее разбор декомпилированных файлов, но так же снижает скорость исполнения кода из функций к которым был применен trash.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Защита авторства MQL кода в МТ5. security certificates

Renat Fatkhullin, 2009.11.22 16:54

Как раз для замусоривания/обфускации кода в MQL5 можно указывать для каждой функции специальный модификатор:

void MyFunc(int val) trash
  {
   Print("Val: ",val);
  }

Пока его назвали trash, но скорее всего изменим на protect.


В результате будет производиться глубокое замусоривание кода и замедление работы указанной функции.


Кроме того, компилятор MQL5 языка использует массу оптимизаций, что кардинально уменьшает возможность обратной декомпиляции.


Мда, 2009 год. Возможно сейчас  trash  ни чего и не делает. Нужно уточнять.
 
Sergey Dzyublik:

Мда, 2009 год. Возможно сейчас  trash  ни чего и не делает. Нужно уточнять.
код вроде бы и так сейчас при компиляции неплохо замусоривается :) но да, интересно
 

Уже не имеет смысла.

Через некоторое время для MQL5 кода x64 версий мы представим возможность тотальной перешифрации промежуточного EX5 кода на наших серверах с дополнительной защитой, похожей на механизмы Маркета.

При включенном режиме дополнительной защиты скомпилированный локально в EX5 файл(без исходников, только EX5) будет отправлен на сервер защиты, где файл будет дополнительно зашифрован серверными ключами. В результате код будет иметь только x64 версию с дополнительным уровнем защиты.

Возможно, этого делать не будем. Но если будем, сроков нет.

 
Renat Fatkhullin:

Уже не имеет смысла.

Через некоторое время для MQL5 кода x64 версий мы представим возможность тотальной перешифрации промежуточного EX5 кода на наших серверах с дополнительной защитой, похожей на механизмы Маркета.

При включенном режиме дополнительной защиты скомпилированный локально в EX5 файл(без исходников, только EX5) будет отправлен на сервер защиты, где файл будет дополнительно зашифрован серверными ключами. В результате код будет иметь только x64 версию с дополнительным уровнем защиты.

Возможно, этого делать не будем. Но если будем, сроков нет.

Не понимаю, для чего эта защита? Ведь и сейчас же никак не взломать EX4/5. Неужели есть люди, которые не соглашаются переходить на MQL, потому что им кажется, что защита не достаточная?

Или это просто гиковская дань моде, чтобы можно было в сравнительной таблице поставить плюсик напротив использования самых совершенных методов защиты? У остальных этого плюсика не будет - типа маркетинга "зато у меня 70 мегапикселей в смартфоне".

Это практическая необходимость или все же маркетинг? 

 
fxsaber:

Не понимаю, для чего эта защита? Ведь и сейчас же никак не взломать EX4/5. Неужели есть люди, которые не соглашаются переходить на MQL, потому что им кажется, что защита не достаточная?

Или это просто гиковская дань моде, чтобы можно было в сравнительной таблице поставить плюсик напротив использования самых совершенных методов защиты? У остальных этого плюсика не будет - типа маркетинга "зато у меня 70 мегапикселей в смартфоне".

Это практическая необходимость или все же маркетинг? 

Меня периодически долбят вопросами с защитой. Народ хорошо помнит, как на ура ломались .ex4  < 600 билда автоматическими декомпиляторами. А народ, как кошка, будет плохое помнить вечно ))
 

вспоминается фраза "Вы или крестик снимите или трусы оденьте!"

 

Я конечно могу ошибаться но в какой то ветке были комментарии на тему "мт5 намного быстрее мт4 и делаются шаги для дальнейшего ускорения работы"

если данный тип не нужен почему его не удалить совсем?

если нужен то  зачем целенаправленно замедлять работу?

 
trader781:

вспоминается фраза "Вы или крестик снимите или трусы оденьте!"

 

Я конечно могу ошибаться но в какой то ветке были комментарии на тему "мт5 намного быстрее мт4 и делаются шаги для дальнейшего ускорения работы"

если данный тип не нужен почему его не удалить совсем?

если нужен то  зачем целенаправленно замедлять работу?

Стопудово оставлен для совместимости. Проблем нет, не используйте и не будет ничего замедляться.
 
мы и без треша успешно справляемся с замедлением кода своими кривыми костылями
 
Aleksey Semenov:
мы и без треша успешно справляемся с замедлением кода своими кривыми костылями
+++ )))
Причина обращения: