动态链接库dll的使用方法——动态加载dll
2014-06-13 18:28
246 查看
静态加载dll的方法很简单(见 《DLL的编写方法》这篇文章),但是除了需要调用.dll外,还需要.lib和.h文件。可是,在动态加载dll时,就不需要这些文件,只用一个dll就行。
C++动态加载dll的方法:
1、定义指向函数的指针。假设testdll.dll中有个函数 int add(int n1,int n2),定义指向它的函数指针的方法:
2、动态加载这个dll,并重新定义一个函数ADD(它的类型为第一步中定义的“指针名”类型),用它来代替dll中的add函数。
代码举例:
C++动态加载dll的方法:
1、定义指向函数的指针。假设testdll.dll中有个函数 int add(int n1,int n2),定义指向它的函数指针的方法:
typedef int (*Pt_add)(int n1,int n2)
2、动态加载这个dll,并重新定义一个函数ADD(它的类型为第一步中定义的“指针名”类型),用它来代替dll中的add函数。
代码举例:
HINSTANCE h_testdll=LoadLibrary("testdll.dll");//动态加载dll,返回句柄 Pt_add ADD=(Pt_add)GetProcAddress(h_testdll,"add");//GetProcAddress参数(dll句柄,dll中函数名)3、以后在使用dll库中的add函数的地方,直接用ADD()函数代替即可。
相关文章推荐
- 在VC中创建和使用动态链接库(DLL)的一般方法
- 主程序加载动态链接库(类方法)(动态加载)
- 加载dll动态库出错的解决方法
- 使用RenderControl方法实现动态加载用户控件
- c# 动态加载dll文件,并实现调用其中的方法
- C#中使用反射来动态加载和卸载DLL
- Extjs使用动态加载时提示"Ext.Loader is not enabled"的解决方法
- 难点总结:Jquery动态加载数据库中的数据(解答人:郭哲 方式:讲述jquery原理及一些函数的使用方法,学会看帮助文档)
- 动态链接库dll创建静动态调用方法一例
- 使用AsyncTask方法动态加载数据
- C#实现反射调用动态加载的DLL文件中的方法
- C#实现反射调用动态加载的DLL文件中的方法
- c# winform程序调用托管dll(c#的dll),使用"添加引用"和动态加载dll
- ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)
- C#实现反射调用动态加载的DLL文件中的方法
- C#实现反射调用动态加载的DLL文件中的方法
- 委托delegate的使用-动态加载DLL控件
- 动态加载DLL的方法与注意的问题
- 关于使用EmguCV出现 “无法加载 DLL“cvextern”: 找不到指定的程序” 的解决方法
- c#动态加载dll并调用dll中类的方法