|
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