当我们写好一个程序的时候,是以.c的后缀形式存在的,这个时候需要对.c进行编译,转成二进制文件,也就是生成在WINDOWS以.obj形式存在的,在LINUX下以.o形式存在的文件,之后就需要进行链接,链接主要是链接函数和全局变量,所以我们需要使用这些中间文件,当你源文件过多时,产生的中间文件也是过多的,而链接是需要明确指出中间目标文件名,这样就很麻烦,所以我们可以将这些中间文件打包,在windows下生成的.lib文件,以及在LINUX生成的.a文件。
.lib = library file Archive File = .a
总结一下,源文件首先会生成中间目标文件,再由中间目标文件生成执行文件。在编译时,编译器只
检测程序语法和函数、变量是否被声明。如果函数未被声明,编译器会给出一个警告,但可以生成 Object
File。而在链接程序时,链接器会在所有的 Object File 中找寻函数的实现,如果找不到,那到就会报链
接错误码(Linker Error),在 VC 下,这种错误一般是:Link 2001 错误,意思说是说,链接器未能找到函数的实现。你需要指定函数的 Object File