头文件和源文件的名称相同

时间:2018-05-20 15:15:39

标签: c file header

源文件和头文件在嵌入式编程中的同名意图是什么?

是否可以在头文件中声明函数然后在源文件中定义它们。

Example.h有函数声明

void func();

Example.c有函数定义

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

1 个答案:

答案 0 :(得分:1)

这主要是品味问题。我发现在编写库时,为主.c文件提供库的名称是很方便的,而用户将#include的.h文件显然会使用该名称,以方便用户使用。

在非库源代码库中,有些人喜欢为每个.c文件都有一个.h文件来声明该.c文件中的所有外部函数。就个人而言,我不喜欢这个 - 它需要使用这些外部文件的每个文件都知道它们所在的文件,并且它使得分割大文件变得乏味,因为你需要更新.h文件以及#include它的所有.c文件。我更喜欢拥有覆盖代码区域的.h文件,而不是特定文件;在模块化不是问题的小代码库中,我认为单个externs.h文件对于一切都很有效。但这绝对是一个有能力的工程师不同意的品味问题。

(但请注意,声明.h文件中的所有externs,以及.c文件实例化全局#include .h文件,是良好编码的基础。没有extern关键字应该出现在.c文件中,你应该将编译器警告标志点亮为全局定义上的错误而没有匹配的extern声明;这可以保证每个文件都同意extern符号被声明为什么)