c++dll函数调用demo
时间: 2023-10-27 16:03:15 浏览: 58
C DLL函数调用是指在C语言中调用动态链接库(DLL)中的函数。DLL是一种用于存放代码和数据的文件格式,其中包含了可以被其他程序调用的函数和变量。
实现C DLL函数调用的示例代码如下:
1. 创建DLL项目
首先,我们需要创建一个DLL项目。在IDE中选择新建项目,选择DLL(动态链接库)项目类型,并为项目指定一个名称。
2. 编写DLL函数
在DLL项目中,编写我们需要被调用的函数。例如,我们创建一个名为"add"的函数,在该函数中实现两个整数相加的功能。
```c
__declspec(dllexport) int add(int a, int b) {
return a + b;
}
```
3. 构建DLL
编译和构建DLL项目,生成一个名为"demo.dll"的DLL文件。
4. 创建调用DLL的C程序
在一个新的C程序项目中,我们可以使用以下代码调用刚刚创建的DLL中的函数:
```c
#include <stdio.h>
#include <windows.h>
// 声明DLL函数原型
typedef int(*AddFunc)(int, int);
int main() {
// 加载DLL
HINSTANCE hinstLib = LoadLibrary(TEXT("demo.dll"));
// 如果DLL加载成功
if (hinstLib != NULL) {
// 获取DLL函数地址
AddFunc addFunc = (AddFunc)GetProcAddress(hinstLib, "add");
// 如果获取函数地址成功
if (addFunc != NULL) {
// 调用DLL函数
int result = addFunc(3, 5);
printf("结果:%d\n", result);
}
// 释放DLL
FreeLibrary(hinstLib);
}
else {
printf("无法加载DLL\n");
}
return 0;
}
```
以上代码中,我们首先加载DLL文件,然后使用"GetProcAddress"函数获取DLL中函数"add"的地址,并将其转换为函数指针。接下来,我们可以使用函数指针直接调用DLL函数。
通过以上步骤,我们实现了C语言中调用DLL函数的功能。这使得我们可以将一些通用的功能封装成DLL,供其他程序调用,提高代码的可重用性和可维护性。同时,C DLL函数调用还可以实现与其他语言(如C++、C#等)的互操作。