静态库
.LIB
在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其他模块组合起来创建最终的可执行文件(.EXE文件)。
当发布产品时,只需要发布这个可执行文件,并不需要发布被使用的静态库。
动态库
引入库(.lib)文件和一个DLL(.dll)文件。
对一个DLL来说,其引入库文件(.lib)包含该DLL导出的函数和变量的符号名,而.dll文件包含该DLL实际的函数和数据。
在使用动态库的情况下,在编译链接可执行文件时,只需要链接该DLL的引入库文件,该DLL中的函数代码和数据并不复制到可执行文件中,直到可执行程序运行时,才去加载所需的DLL,将该DLL映射到进程的地址空间中,然后访问DLL中导出的函数。在发布产品时,除了发布可执行文件以外,同时还要发布该程序将要调用的动态链接库。
使用动态链接库的好处
1、可以采用多种编程语言来编写 ?没试过
2、增强产品的功能 所谓的软件升级?好像是的,开发新的DLL,取代原有的DLL
3、提供二次开发的平台 可以利用该DLL调用其中实现的功能,编写符合自己业务需要的产品,从而实现二次开发
4、简化项目管理 各DLL同时开发。
5、可以节省磁盘空间和内存
6、有助于资源的共享 (在实际工作中,可以编写一个纯资源的动态链接库供其他应用程序访问。
7、有助于实现应用程序的本地化
动态链接库的加载:
1、隐式链接
2、显式加载
本文解析了静态库和动态库的工作原理及使用场景。介绍了静态库在链接过程中的作用,以及动态库如何通过.lib文件引用.dll文件。探讨了动态库的优点,如简化项目管理、节省资源等。
2231

被折叠的 条评论
为什么被折叠?



