我对此种调用方式还不是很明确,从网上查找一些资料,如下(下面的例子只适用于对导出函数生成的dll调用,对导出类的dll调用我还没研究,如果各位朋友有好的指教,请在评论区留言,谢谢):
二、动态调用dll
动态调用,即显式调用,是由编程者用API函数加载和卸载DLL来达到调用DLL的目的,比较复杂,但能更加有效地使用内存。在Windows系统中,与动态库调用有关的函数包括:
①LoadLibrary(或MFC 的AfxLoadLibrary),装载动态库。
②GetProcAddress,获取要引入的函数,将符号名或标识号转换为DLL内部地址。
③FreeLibrary(或MFC的AfxFreeLibrary),释放动态链接库。
具体方法:(也可以称为执行的步骤,这个与后面的程序步骤对应。)
1.声明头文件<windows.h>。
2.然后用typedef定义一个指针函数类型,typedef int(*fun)(int) 。这个指针类型,要和你调用的函数类型和参数保持一致。
3.定义一个句柄实例,用来取DLL的实例地址。HINSTANCE hdll。格式为hdll=LoadLibrary(“DLL地址”);这里字符串类型是LPSTR,当是unicode字符集的时候会不行,因此要在配置-属性-常规里面把默认字符集“un