Изменить имя переменной - страница 3

 
alxm:

Фактов у меня нет. Но угрозы возможны. Например https://www.mql5.com/ru/forum/21/page2#comment_491 

Во первых под каждую версию терминала свой компилятор, и при выходе билдов раз в неделю-месяц написать декомпил непосильный труд.

Во вторых при каждом F7 файл перешифровывается, что делает задачу написания декомпилятора под конкретный файл вообще абсурдной.

Я не говорю что декомпил написать невозможно, но стоимость этих работ будет дороже данных что он получит.

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

не целесообразен (это всё равно что для разбивания ореха делать специальную высоко интеллектуальную машину изучающую топологию ореха для расчёта места наилучшего удара, причём под каждый орех новую машину).

 

Urain:

Спасибо за четкие ответы. Даже при всей моей склонности к извращениям я перестал видеть смысл вопроса этой ветки.

 
alxm:

Urain:

Спасибо за четкие ответы. Даже при всей моей склонности к извращениям я перестал видеть смысл вопроса этой ветки.

Чтоб ещё чётче показать абсурдность заявленой темы:

в компиляторе MQL5 есть так называемый инлайнинг, который разбирает выражения (например функции-обёртки) и подставляет в байт код более простой вариант.

Т.е. по факту вы найдёте какой нить извращённый способ чтоб запутать код, а компилятор это всё распутает и упростит. Таким образом ваша сложная конструкция будет существовать лишь в ваших фантазиях. Причём вы же не знаете что там компилятор подставил, так что будете приспокойно спать, хотя ваш способ ни чем не будет отличаться от конструкции if (что я приводил выше).

 

Может Вам нужны указатели?. Оберните в класс или в структуры необходимые данные и меняйте объекты на ходу. Если сделать подмену необходимо только на при компиляции, то можно вроде этого:

#define MACR(x, y) x    // или y, после скобки


Причина обращения: