请问头文件和源文件有什么区别?
我总结了一下自己的经验,觉得有以下几方面的区别:
1.从使用的角度讲:
源文件可以包含头文件,但是头文件不可以包含源文件。后者虽然在语法上是允许的,但是实际使用
中是不规范的用法。
2.从预处理的角度讲:
对于一个包含了多个头文件的源文件,只要用头文件的内容替换掉源文件中的对应的include语句,就可以得到预处理后的源文件。这个最终生成的源文件的编译结果就是最终的编译结果。
3.从编译的角度讲:
源文件被直接编译,也就是说源文件将直接被编译为obj文件。而头文件如果没有被任何源文件包含的话,将不会被编译。换句话说,如果一个头文件没有被任何源文件直接或者间接包含的话,那么这个头文件中即使有语法错误也不会在编译时被检测出来。
以上就是我的一些经验总结,希望能够抛砖引玉引出各位的高见。