递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4136|回复: 0
打印 上一主题 下一主题

[视窗] C++结构体数组变量火山要怎么实现请大神赐教

[复制链接]

1

主题

1

帖子

39

积分

新手上路

Rank: 1

积分
39
跳转到指定楼层
楼主
发表于 2022-6-12 20:57:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C++头文件代码如下:
  1. //函数(数据个数,输出,输入a,输入b,输入c)
  2. typedef void(*pPluginFUNC)(int,float*,float*,float*,float*);

  3. typedef struct tagPluginTCalcFuncInfo
  4. {
  5.         unsigned short                        nFuncMark;//函数编号
  6.         pPluginFUNC                        pCallFunc;//函数地址
  7. }PluginTCalcFuncInfo;

  8. typedef BOOL(*pRegisterPluginFUNC)(PluginTCalcFuncInfo**);  

  9. #pragma pack(pop)

  10. #ifdef __cplusplus
  11. extern "C"
  12. {
  13. #endif //__cplusplus
  14.         __declspec(dllexport) BOOL RegisterTdxFunc(PluginTCalcFuncInfo** pFun);
  15. #ifdef __cplusplus
  16. }
  17. #endif //__cplusplus

  18. #endif
复制代码
C++源码如下:

  1. void TestPlugin1(int DataLen,float* pfOUT,float* pfINa,float* pfINb,float* pfINc)
  2. {
  3.         for(int i=0;i<DataLen;i++)
  4.                 pfOUT[i]=(float) i;
  5. }

  6. void TestPlugin2(int DataLen,float* pfOUT,float* pfINa,float* pfINb,float* pfINc)
  7. {
  8.         for(int i=0;i<DataLen;i++)
  9.         {
  10.                 pfOUT[i]=pfINa[i]+pfINb[i]+pfINc[i];
  11.                 pfOUT[i]=pfOUT[i]/3;
  12.         }
  13. }

  14. //加载的函数
  15. PluginTCalcFuncInfo g_CalcFuncSets[] =
  16. {
  17.         {1,(pPluginFUNC)&TestPlugin1},
  18.         {2,(pPluginFUNC)&TestPlugin2},
  19.         {0,NULL},
  20. };

  21. //导出给的注册函数
  22. BOOL RegisterTdxFunc(PluginTCalcFuncInfo** pFun)
  23. {
  24.         if(*pFun==NULL)
  25.         {
  26.                 (*pFun)=g_CalcFuncSets;
  27.                 return TRUE;
  28.         }
  29.         return FALSE;
  30. }
复制代码
这里PluginTCalcFuncInfo g_CalcFuncSets[] 整个结构体数组在火山里面具体要怎么实现。我用嵌入调用结合实例中结构基础类方式可以声明结构体,但编译后无效。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 21:02 , Processed in 0.080249 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表