区分.lib .dll .obj .a .so .o
DLL: 动态链接库 (DLL) 是作为共享函数库的可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个 DLL 副本的内容。 obj:是CPP对应的二进制代码格式,是未经重定位的! lib:是若干个obj的集合,本质与obj相同! LIB 创建标准库、导入库和导出文件,在生成 32 位程序时可将它们与 LINK 一起使用。LIB 从命令提示运行。 可在下列几种模式下使用 LIB: 生成或修改 COFF 库 将成员对象提取到文件中 创建导出文件和导入库 这些模式是互斥的;每次只能以一种模式使用 LIB。 dll:是可实际运行的二进制代码,有定位代码的! h:是头文件,也可算是源代码,因为当CPP中用#include时,会把包含的文件的内容在CPP中 扩展 开! 动态链接与静态链接的不同之处在于它允许可执行模块(.dll 文件或 .exe 文件)仅包含在运行时定位 DLL 函数的可执行代码所需的信息。在静态链接中,链接器从静态链接库获取所有被引用的函数,并将库同代码一起放到可执行文件中。 使用动态链接代替静态链接有若干优点。DLL 节省内存,减少交换操作,节省磁盘空间,更易于升级