При переносе проекта из IAR в gcc возник вопрос. Помогите разобраться.
Припустим у меня есть "драйвер", который
просто состоит из "с" и "h" файлов, не под ось, а просто, скажем к индикатору.
В "h" файле описаны порты ну и декларация функций.
В "с" файл также включен файл с описанием задержек, которые зависят от проца и от
частоты тактирования. В драйвере описаны как функции, которые используються
проэктом, так и функции, которые этим конкретным проектом не используються.
Так как gcc, в отличие от иара, на этапе компиляции закидывает в обьектные файлы
все функции без исключений, то это влияет на размер выходного бинарника.
Ну в принципе, хули там - делай драйер библиотекой, разбивай сишный файл
на множество сишных файликов, в каждой по своей фунции и дело с концом.
Но тут, вопервых, много гемора, во вторых, как вести отдельно поддержку драйевра,
ведь он зависит от конкретных задержек, описанных в файле, который тоже где-то
должен поддерживаться (может измениться, потом наведи лад со всеми этими библами).
Получаеться хрень какаето - что бы убрать из кода не используемые функции, нужно
проделать кучу лишних движений, плюс к этому это все нужно поддерживать, да если еще
и куча проэктов на этом висит, то это пипец.... Как это лучше организовать с ипосльзованием gcc?