递归火山软件开发平台

标题: C++结构体数组变量火山要怎么实现请大神赐教 [打印本页]

作者: 火爆登场    时间: 2022-6-12 20:57
标题: C++结构体数组变量火山要怎么实现请大神赐教
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[] 整个结构体数组在火山里面具体要怎么实现。我用嵌入调用结合实例中结构基础类方式可以声明结构体,但编译后无效。





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