递归火山软件开发平台

标题: 外部CPP引用后回调火山函数 [打印本页]

作者: boxxie    时间: 2025-12-31 12:58
标题: 外部CPP引用后回调火山函数

有个好玩的想法.
火山把一个函数指针传递给外部源CPP文件的一个函数后,这外部源CPP里可以通过这个指针返回来执行到火山里的方法吗?
比如外部CPP里有个BBB的函数,火山里有个AAA的函数.
然后在火山里把AAA的函数指针(或者其他参数能识别AAA函数的值)传给BBB.
外部CPP里BBB通过得到传过来的函数指针值(或者能识别AAA函数的值).回头去运行AAA函数.
大概的意思就是外部CPP可以回头运行火山里的函数吗?
感觉这样好好玩.

新手玩火山,大牛牛们见笑了

作者: Xelloss0618    时间: 2025-12-31 16:45
回调函数就这个特性啊,火山的AAA函数指针传到BBB,执行的自然就是火山里的AAA函数。
作者: boxxie    时间: 2025-12-31 18:24
Xelloss0618 发表于 2025-12-31 16:45
回调函数就这个特性啊,火山的AAA函数指针传到BBB,执行的自然就是火山里的AAA函数。 ...


太菜了,不会写
如果大大有时间,帮举个例子吧,多谢了
作者: fengyishen    时间: 2025-12-31 23:58
好家伙,你这是想只用火山套层壳了!实现和声明都在CPP了,还要火山干嘛
作者: 何以解忧wykg    时间: 2026-1-1 01:07
可以的
作者: boxxie    时间: 2026-1-1 12:35
何以解忧wykg 发表于 2026-1-1 01:07
可以的

理论上是可以,只是不会写出代码
作者: 何以解忧wykg    时间: 2026-1-1 13:07
boxxie 发表于 2026-1-1 12:35
理论上是可以,只是不会写出代码

之前我研究过这个,,也是到处发帖问
作者: boxxie    时间: 2026-1-1 13:19
何以解忧wykg 发表于 2026-1-1 13:07
之前我研究过这个,,也是到处发帖问

:噜阿噜
生态没起来,一个问题最少要几天才能有答案.
这样慢慢形成了一个不好的循环.
急性子的学着会上火
这些问题都是在AI上找不到答案才来问的.
好在也是搞着玩
作者: wangvoldp    时间: 2026-1-1 16:40
静态方法就是一个变整数, c++中将变整数转为函数指针直接调用就行了
作者: boxxie    时间: 2026-1-1 17:25
wangvoldp 发表于 2026-1-1 16:40
静态方法就是一个变整数, c++中将变整数转为函数指针直接调用就行了


虽然不是很明白,但应该是你这样去解
多谢哟
作者: boxxie    时间: 2026-1-2 11:44
fengyishen 发表于 2025-12-31 23:58
好家伙,你这是想只用火山套层壳了!实现和声明都在CPP了,还要火山干嘛


搞着玩呢
感觉理论上可以,想写出来
作者: boxxie    时间: 2026-1-2 11:46
wangvoldp 发表于 2026-1-1 16:40
静态方法就是一个变整数, c++中将变整数转为函数指针直接调用就行了

:噜阿噜
请问大大能告知如何调用函数指针的代码怎么写不
谢谢哟
作者: wangvoldp    时间: 2026-1-2 22:51
boxxie 发表于 2026-1-2 11:46
:噜阿噜
请问大大能告知如何调用函数指针的代码怎么写不
谢谢哟

比如 一个回调函数 参数是一个整数 返回一个整数,
funcAddress 是函数地址变整数
// 定义函数指针类型
typedef int (*FuncPtr)(int);
// 将 DWORD 转换为函数指针
FuncPtr funcPointer = reinterpret_cast<FuncPtr>(funcAddress);
int result = funcPointer(5); // 调用函数,传入参数 5
作者: boxxie    时间: 2026-1-3 10:43
wangvoldp 发表于 2026-1-2 22:51
比如 一个回调函数 参数是一个整数 返回一个整数,
funcAddress 是函数地址变整数
// 定义函数指针类型


好像会了一点点.多谢大大哟
回头试着写写
谢谢
作者: 阿杰    时间: 2026-1-4 11:17
本帖最后由 阿杰 于 2026-1-4 11:39 编辑

不知道是不是你想要的

                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               
自定义函数.cpp中的代码
  1. #include <stdio.h>
  2. int ccc(int x,int y)
  3. {
  4.       return x+y;
  5. }
复制代码



作者: littlebld    时间: 2026-1-8 14:40

                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4