静态链接库(.lib文件)其实是代码的简单集合,即对应Linux下.a文件,代表archive(归档)之意。静态库的作用无非是多个.o文件的一个集合。
2.Windows动态库
动态链接库(.dll文件)即共享库,共享库中的代码在运行时根据需要加载的,对应Linux下.so文件。
Windows下用vs创建dll项目时,一般会伴随一个.lib文件,应用程序在编译的链接状态时,会用到.dll文件,这时需要伴随的.lib文件加进链接选项。这里的.lib文件和Windows静态库文件.lib不同,它只包含简单的导出定义,起到辅助作用,实际的代码还是在.dll文件中。在程序链接过程中需要.lib文件,在程序运行过程中需要.dll文件即可。