C++ 动态加载DLL
2008-07-06 09:43
351 查看
1) 首先,要include在DLL中包含导出函数的头文件,如在DLL中有
int __declspec(dllexport)OpenReader(int readerID, const char* readrAddress);
则要包含有这条语句的文件。
2) 接下来,定义本项目中DLL里函数的名字,即函数指针类型,如:
typedef int (*lpOpenReader)(int readerID, const char* readrAddress);
3) HINSTANCE dllHandle;定义引用DLL的句柄。
4) dllHandle = LoadLibrary(_T("ReaderAPI.dll"));载入DLL,要判断其是否返回NULL。
5) 使用第2步定义的函数指针,定义本项目中使用的函数。如:
lpOpenReader openReader = (lpOpenReader)GetProcAddress(dllHandle,"OpenReader");
6) 项目中就可以使用得到的函数了。如:
openReader(readerID, readrAddress);
int __declspec(dllexport)OpenReader(int readerID, const char* readrAddress);
则要包含有这条语句的文件。
2) 接下来,定义本项目中DLL里函数的名字,即函数指针类型,如:
typedef int (*lpOpenReader)(int readerID, const char* readrAddress);
3) HINSTANCE dllHandle;定义引用DLL的句柄。
4) dllHandle = LoadLibrary(_T("ReaderAPI.dll"));载入DLL,要判断其是否返回NULL。
5) 使用第2步定义的函数指针,定义本项目中使用的函数。如:
lpOpenReader openReader = (lpOpenReader)GetProcAddress(dllHandle,"OpenReader");
6) 项目中就可以使用得到的函数了。如:
openReader(readerID, readrAddress);
相关文章推荐
- [C-C++]DLL之旅2 : 调用DLL(静态&动态加载)
- c++动态加载dll中的类(用于实现依据字符串类名创建对象)
- C++动态加载DLL调用方法
- C#种动态加载C++的DLL
- 从内存中动态加载C++ DLL
- C++ 动态加载dll
- c++动态加载DLL
- C++中使用反射动态加载和卸载DLL
- C++动态加载dll
- c++动态加载dll
- C++如何调用DLL呢,有两种,一种是静态,另外一种是动态,即通过调用windowsAPI 来加载和卸载DLL,具体思路:
- c++关于动态加载Dll.
- c++动态加载dll中的类(用于实现依据字符串类名创建对象)
- C++调用DLL有两种方法——静态调用和动态调用
- C#中动态加载和卸载DLL
- AutoSharedLibrary -- 基于模板元编程技术的跨平台C++动态链接加载库
- C#读取配置文件详解 完全自定义实现动态加载dll
- 动态加载DLL
- BCB(C++ Builder)创建动态库(DLL,接口导出和调用),动态加载DLL
- C#动态调用C++DLL