То же имя для заголовочного файла и исходного файла - PullRequest
0 голосов
/ 20 мая 2018

Каково намерение, чтобы исходный файл и заголовочный файл имели одинаковое имя во встроенном программировании?

Это похоже на то, что мы можем объявить функции в заголовочном файле и затем определить их в исходном файле.

Example.h имеет объявления функции

void func();

Example.c имеет определение функции

void func()
{
 printf("Do Nothing");
} 

1 Ответ

0 голосов
/ 20 мая 2018

Это во многом дело вкуса.Я считаю, что при написании библиотек удобно давать основному .c-файлу имя библиотеки, а .h-файл, который пользователи #include, очевидно, использует это имя для упрощения работы пользователей.

Внебиблиотечная исходная база, некоторым людям нравится иметь файл .h для каждого файла .c, который объявляет все внешние элементы в этом файле .c.Лично мне это не нравится - он требует, чтобы каждый файл, который использует эти внешние элементы, знал, в каком файле они находятся, и это делает утомительным разбиение больших файлов, так как вам нужно обновить файл .h и все файлы .c, которые его включают,Я предпочитаю иметь .h файлы, которые покрывают область кода, а не конкретный файл;в небольших кодовых базах, где модульность не является проблемой, на мой взгляд, хорошо работает единственный файл externs.h для всего.Но это определенно является вопросом вкуса, с которым способные инженеры могут не согласиться.

(Но учтите, что объявление всех внешних файлов в файле .h и наличие файла .c, который создает экземпляр глобального #include для этого файла .h, является фундаментальным для хорошего кодирования. Никакое ключевое слово extern никогда не должно появляться в файле .c, и вы должны включить флаг предупреждения компилятора об ошибке в определениях глобальных переменных без соответствующего объявления extern, что гарантирует, что каждый файл согласен с тем, что символ extern являетсяобъявлен как)

...