dll调用示例
时间: 2023-08-10 21:06:02 浏览: 46
好的,我可以为你提供一个简单的 DLL 调用示例。假设你有一个名为 mydll.dll 的 DLL 文件,其中包含一个函数 add(),它可以将两个整数相加并返回结果。
以下是一个示例 C++ 代码,展示如何调用该 DLL 中的 add() 函数:
```c++
#include <windows.h>
#include <iostream>
// 定义函数指针类型
typedef int (*MYADD)(int, int);
int main()
{
// 加载 DLL 文件
HINSTANCE hDll = LoadLibrary("mydll.dll");
if (hDll == NULL) {
std::cout << "Failed to load DLL." << std::endl;
return 1;
}
// 获取函数指针
MYADD pAdd = (MYADD)GetProcAddress(hDll, "add");
if (pAdd == NULL) {
std::cout << "Failed to get function pointer." << std::endl;
return 1;
}
// 调用函数
int result = pAdd(1, 2);
std::cout << "Result: " << result << std::endl;
// 释放 DLL 文件
FreeLibrary(hDll);
return 0;
}
```
在上述代码中,首先使用 LoadLibrary() 函数加载 mydll.dll 文件,然后使用 GetProcAddress() 函数获取 add() 函数的函数指针。接着,可以直接调用 pAdd() 函数指针来调用 DLL 中的函数。最后,使用 FreeLibrary() 函数释放 DLL 文件。
需要注意的是,在使用 LoadLibrary() 函数加载 DLL 文件时,需要将 DLL 文件的路径传递给函数。如果 DLL 文件不在当前目录下,需要指定完整路径。此外,如果 DLL 文件依赖其他 DLL 文件,需要将这些 DLL 文件的路径添加到系统搜索路径中,否则可能会导致加载失败。