概述
动态函数链接库,通常称为Dll,是Dynamic linked library的简称。dll中包含的是程序的二进制可执行代码和程序资源。dll文件可在多个引用程序间共享,具有便于项目管理,节省内存,代码保密等功能。dll是Windows编程的基础。
原理
按加载方式划分,分为两种,加载时链接(隐式链接)和运行时链接(显示链接)
1.加载时链接,加载时链接是在应用程序启动时就将Dll加载进入内存,在dll函数调用处链接dll函数。过程如图所示:
2.运行时链接,是运行时在使用Dll函数时加载Dll。如图所示:
使用
隐式调用(加载时动态链接)
需要.dll、.lib、.h三种文件 。具体操作此处不再说明,请参考别处。注意:*.lib为导入库文件,与静态库.lib完全不同。
显式调用(运行时动态链接)
是在使用过程中,显式的由开发人员调用Win32API加载dll、获取函数指针、释放dll
加载dll:LoadLibrary("*.dll")
获取函数地址:GetProcAddress(hInstance, " ")
释放Dll:FreeLibrary(hInstance)