Обычно всегда стараюсь чётко разделить программу на модули, как можно более автономные. Функции, описанные в модулях, выносим в h-файл, и в других модулях его подключаем. Всё как обычно. Переменные тоже желательно разделить, для внутримодульного употребления - static. Да это и не только для АРМ и Кейла, а вообще нормальный стиль программирования. Потом я беру, к примеру, модуль Indicator.c, перетаскиваю в новый проект и он без единой настройки сразу работает. А чтобы не было "кучи extern-ов", нужно в модуле группировать данные и функции для работы с этими данными. Чтобы не было глобальных пересечений и взаимосвязей.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|