В коде библиотеки существует несколько вариантов кода для одно и той же функции, но компилируется один из них в зависимости от железа (типа контроллера), или в зависимости от нескольких конфигурационных параметров которые задаются перед объявлением библиотеки.
Это позволило бы создавать многофункциональные блоки с довольно оптимальным по объему.
О самих командах позволяющих компилировать только нужны код, можно почитать здесь Директивы условной компиляции
Применить их в FLProg не получилось, но это и не сильно нужно, если код довольно большой то лучше его перенести в библиотеку.
Но и тут не получилось переменить, так как, для использование этих функций надо сперва объявить директивы. Подробнее про них #define
Вот две главные особенности работы FLProg которые не позволили применит эту идею:
1. Перенос всех строк объявления библиотек (#include) в начало кода. А как я уже писал выше перед до объявлении библиотеки надо объявить несколько строк в директивой #define.
2. Не работает подстановка параметров пользователя в области после директивой #define.
Пример того как сейчас и как надо
СпойлерПоказать