vscode main函数调用含有回调函数的dll

过程:

1.编写myMath.cpp(该文件中需用回调函数),myMath.h

2.利用gcc手动将第一步的两个文件编译为dll文件

3.编写main.cpp(该文件中有回调函数的具体定义),然后调用第二步的dll

具体过程如下:

1.(1)myMath.h如下图:

 (2)myMath.cpp如下:

 2.利用gcc编译:

gcc -c myMath.cpp -o myMath.o

gcc myMath.o -o myMath.dll -shared

编译后当前目录生成dll文件:

3.编写main.cpp(调用dll):

然后运行main.cpp,运行结果如下:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DLL回调函数是指在一个动态链接库(DLL)中定义的函数,该函数被用作参数传递给其他函数,并在特定的事件或条件发生时被调用回调函数允许程序员将自己的代码注入到 DLL 中,并在特定情况下由 DLL调用。这样可以实现模块化和可扩展的设计。 在C语言中,可以通过函数指针来实现回调函数。首先,定义一个函数指针类型,然后在需要使用回调函数的地方,将函数指针作为参数传递给其他函数。当特定事件或条件发生时,DLL 可以调用该函数指针所指向的函数。 以下是一个简单的示例,展示了如何在 DLL 中实现回调函数: ```c // 声明回调函数类型 typedef void (*CallbackFunc)(int); // 定义 DLL 中的函数,接受回调函数作为参数 void RegisterCallback(CallbackFunc callback) { // DLL 中的某些操作... // 当事件或条件发生时,调用回调函数 callback(42); } ``` 在使用该 DLL 的代码中,可以实现具体的回调函数,并将其传递给 `RegisterCallback` 函数: ```c // 实现回调函数 void MyCallback(int value) { printf("Callback received: %d\n", value); } int main() { // 将回调函数作为参数传递给 RegisterCallback 函数 RegisterCallback(MyCallback); // ... return 0; } ``` 当 DLL 中的事件或条件发生时,将会调用 `MyCallback` 函数,并将参数传递给它。 需要注意的是,回调函数的签名(参数和返回值类型)必须与 DLL 中所定义的回调函数类型相匹配,否则会导致编译错误或运行时错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值