.lib后缀.a后缀的含义

Doris ·
更新时间:2024-11-10
· 559 次阅读

当我们写好一个程序的时候,是以.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


作者:举世无双勇



lib

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Lala 2021-06-25
536