Ответ: А в чем трабл? (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено stranger 25 мая 2005 г. 11:10
В ответ на: (+) отправлено <font color=gray>C0MA</font> 25 мая 2005 г. 10:46

Best practices здесь будет слудеющий подход.

Если, допустим, файл lcd.c экспортирует какие-то ф-ции и глобальные переменные, то ты в файле lcd.h объявляешь их с ключевым словом external, а в файле lcd.c имплементируешь их соответственно без этого ключевого слова.

Ну и не забыть тело h-файла поместить внутри конструкции вида:

#ifndef LCD_H
#define LCD_H
..... // тело файла заголовка
#endif

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

P.S. А вообще, правильнее было бы в c-файлы включать только нужные файлы заголовков. Тогда легче проследить dependecies исходных файлов в большом проекте.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru