ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
1438958 Топик полностью
abivan (28.05.2024 12:10, просмотров: 163) ответил Mty1 на Поделитесь как удобно организовать хедеры .h в проекте на С? Есть около 5 модулей, у каждого есть функции и переменные видимые как extern, и есть только для внутреннего использования в модуле. Есть #define с константами. Хочется все записать в .h каждого модуля для простоты и подключать куда надо. Но пока делю - что для всех в .h что локально в .c
добавлю полезность. 

В твой.h файл нужно подключить такие .h файлы, чтобы твой.h компилировался без ошибок. Откомпилировать h файл не все компиляторы могут, тогда, как вариант, создать пустой .с файл с подключенным только твой.h. И этот .с файл откомпилировать.


Еще полезно macro guard(защита подключения) вставлять не как делают все(большинство) а в конце .h файла, это позволит обнаружить рекурсию .h файлов

https://ru.wikipedia.org/wiki/Include_guard - тут как не надо ставить гард


лучше делать всегда вот так.

#ifndef H_GRANDFATHER 
  struct foo { int member; }; 
#define H_GRANDFATHER 
#endif