一般我们学习C语言的时候,include预编译的一般是.h头文件,虽然来说#include却是可以包含任意扩展名的文件,因为考虑到接口与实现分离的问题,头文件里面一般放函数,变量等声明,大家一般都推荐这个做法。这是一个好的编码习惯。但是今天我看IMageMagick开源项目里面看见了一个.c文件include了另一个.c文件,奇怪之下,搜索了一下stackoverflow,原来这个做类似于C中的goto,不推荐用,但是在适当的条件下,用法得当是非常有用的。(例如Linux 内核源代码里面大量的函数的Error Handle都用goto进行短跳,考虑缓存,程序局部性原理。长跳就相当影响性能)
References:
http://stackoverflow.com/questions/232693/including-one-c-source-file-in-another