boxxie 发表于 2026-1-2 11:44:51

fengyishen 发表于 2025-12-31 23:58
好家伙,你这是想只用火山套层壳了!实现和声明都在CPP了,还要火山干嘛

;P
搞着玩呢
感觉理论上可以,想写出来

boxxie 发表于 2026-1-2 11:46:17

wangvoldp 发表于 2026-1-1 16:40
静态方法就是一个变整数, c++中将变整数转为函数指针直接调用就行了

:噜阿噜
请问大大能告知如何调用函数指针的代码怎么写不
谢谢哟

wangvoldp 发表于 2026-1-2 22:51:42

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:58

wangvoldp 发表于 2026-1-2 22:51
比如 一个回调函数 参数是一个整数 返回一个整数,
funcAddress 是函数地址变整数
// 定义函数指针类型


;P
好像会了一点点.多谢大大哟
回头试着写写
谢谢

阿杰 发表于 2026-1-4 11:17:25

本帖最后由 阿杰 于 2026-1-4 11:39 编辑

不知道是不是你想要的
<火山程序 类型 = "通常" 版本 = 1 />

类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" @视窗.布局 = "client_size = \"500, 300\"" 标题 = "C源码中的函数和火山中的函数互传参数">
{

    # //下面的函数是C中的函数
    # @begin
    # #include "自定义函数.cpp"
    # int bbb(int x,int y)
    # {
    #   return x+y;
    # };
    # @end

    方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
    参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
      变量 aaa <类型 = 整数 注释 = "这个是火山中的">
      变量 bbb <类型 = 整数 注释 = "这个是嵌入代码中的">
      变量 ccc <类型 = 整数 注释 = "这个是CPP文本中的">
      变量 x <类型 = 整数>
      变量 y <类型 = 整数>
      x = 10
      y = 2026
      aaa = aaa (x, y)// 这个是火山中的方法
      @ @<bbb>=bbb(@<x>,@<y>);//这个是C中的方法
      @ @<ccc>=ccc(@<x>,@<y>);//这个是调用CPP文件中的CCC方法

      调试输出 (aaa, bbb, ccc)
      返回 (0)
    }

    方法 aaa <类型 = 整数>
    参数 x <类型 = 整数>
    参数 y <类型 = 整数>
    {
      返回 (x + y)

    }

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

littlebld 发表于 2026-1-8 14:40:25

<火山程序 类型 = "通常" 版本 = 1 />

类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" @视窗.布局 = "client_size = \"500, 300\"" 标题 = "C源码中的函数和火山中的函数互传参数">
{

    # //下面的函数是C中的函数
    # @begin
    # #include "自定义函数.cpp"
    # int bbb(int x,int y)
    # {
    #   return x+y;
    # };
    # @end

    方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
    参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
      变量 aaa <类型 = 整数 注释 = "这个是火山中的">
      变量 bbb <类型 = 整数 注释 = "这个是嵌入代码中的">
      变量 ccc <类型 = 整数 注释 = "这个是CPP文本中的">
      变量 x <类型 = 整数>
      变量 y <类型 = 整数>
      x = 10
      y = 2026
      aaa = aaa (x, y)// 这个是火山中的方法
      @ @<bbb>=bbb(@<x>,@<y>);//这个是C中的方法
      @ @<ccc>=ccc(@<x>,@<y>);//这个是调用CPP文件中的CCC方法

      调试输出 (aaa, bbb, ccc)
      返回 (0)
    }

    方法 aaa <类型 = 整数>
    参数 x <类型 = 整数>
    参数 y <类型 = 整数>
    {
      返回 (x + y)

    }

    #
}
页: 1 [2]
查看完整版本: 外部CPP引用后回调火山函数