最近看到有的程序中在头文件的位置直接include 一个.c文件,其实之前是根本没见过这种写法(呵呵,比较孤陋寡闻,见笑见笑)
话说,在看到这么一个程序之后,就在考虑这样写的好处是什么,为什么之前看到的都是include一个.h文件呢?这还都怪自己对基本的内容不清楚,才会提出这样的问题出来。
其实,一般的写法都是include一个.h文件。为什么呢?因为.h文件是编译器在编译的时候首先进行编译的,也就是你的程序在运行开始之前,系统先编译了你的h文件中的内容,然后再开始执行程序。而.c文件,虽然程序在执行时可以通过c文件来互相调用不同文件中的内容,但是由于c文件中存在的函数被调用之后,然后编译器在编译了两个c文件之后会发现有一个内容被编译了两次,这样,就会产生一个错误。当然,在编译时是能够通过的,只是在link时会产生一点错误。另外,如果include一个.c文件,会首先编译这个c文件,这样如果这个c文件中存在一些和其他文件的关联的话,这样就会产生编译的先后顺序的问题了。
用户377235 2012-11-28 11:23
用户191889 2009-3-13 12:04
tengjingshu_112148725 2009-3-12 23:58