区分在实际使用中并没有什么影响,但是 .h 主要放一些宏定义,.c放程序代码,这样做对以后程序香梅的维护和移植就比较方便了,这样做只是形成一个良好的代码书写规范。
写了三年代码了,第一次遇到#include "xxx.c"忍不住回答一下这个问题。
首先 .h 头文件,主要提供要对外导出的符号。 .c 源文件,主要提供实现以及实现内部的符号。两者从功能上不一样,但在特定的情况下互换也可以编译通过。
例如,在test.c 中实现了一个test()函数。在source1.c中#include "test.c",然后调用test()是没有一点问题的。但是如果在source1.c和source2.c中都#include "test.c",则大多数编译器下会无法通过编译。因为test()重定义了。
#include "xxx.c"主要还是应用于较大规模的软件中的配置文件,来决定哪些source参与编译,至于那些不需要的,则可以轻易加前缀//