-
Супер Модератор
Как приятно работать с человеком, который фундаментально подходит к изучению процесса. Не иронизирую.
1. А на языках высокого уровня библиотека - это не часть кода? Библиотека - это всегда шаблонные куски кода. Будь она внешней или внутренней - вопрос только в методе реализации.
2. Дальше по культуре программирования, а именно почему не стоит включать глобальные и конфигурационные переменные:
- Мы разобрались, что библиотека - это описание алгоритма работы устройства, а не реализация управления конкретным устройством? Думаю здесь вопросов не возникает.
- Использовать глобальные переменные в подпрограммах - мовитон (мое ИМХО), так как теряется основной плюс использования библиотек: переносимость и масштабируемость. Не могу придумать задачу, где в нескольких экземплярах одного блока требуется использовать глобальную переменную (сквозную для всего проекта).
- Использовать конфигурационные переменные точно не стоит. Если Вы будете использовать данные блоки только с одним контроллером - зачем Вам библиотека? Если с разными контроллерами, то какие шансы, что совпадут адреса первого дискретного входа в ПЛК100, первого дискретного входа в ПЛК63 и первого дискретного входа у Wago750...
То есть Вы сделали библиотеку для одного, конкретного контроллера. Зачем??? В пользу ежеминутной лени? Ну не знаю.
Даст ли компилятор сделать библиотеку, включающую ссылки к глобальным и конфигурационным переменным??? Думаю даст, но я не пробовал и пробовать не собираюсь. Чего и остальным желаю 
Надеюсь я ответил на Ваши вопросы.
Последний раз редактировалось Николаев Андрей; 23.03.2011 в 12:19.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума