Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-14, 20:38   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 Matlab的calllib中的错误“不支持函数返回类型”是什么意思?

我正在使用calllib从matlab访问外部DLL。 DLL中包含一个函数,其签名如下所示:

typedef struct resultStruct { double E; double W; double N; double S; double Z; double Y; } RESULT_STRUCT; typedef struct inputStruct { double A; double B; double C; } INPUT_STRUCT; RESULT_STRUCT calc( const INPUT_STRUCT* input); 当我尝试在Matlab中调用它时,

loadlibrary('calc.dll','calc.h'); input.A = 1; input.B = 2; input.C = 3; [res, st] = calllib('calc','calc',input); 我得到错误:

??? Error using ==> calllib The function return type is not supported. 出人意料的是,谷歌在该错误消息上未显示任何匹配,并且calllib的文档中没有任何内容: http : //www.mathworks.com/help/techdoc/ref/calllib.html

我的猜测是,由于函数正在返回结构,因此matlab会呕吐。但是文档中没有任何建议。尽管matlab没有提供任何示例,但都包含结构作为输出变量。



回答:

我怀疑与您相同,即MATLAB不喜欢struct返回类型。尝试返回一个简单的类型,看看是否可行。然后,我建议与出色的MATLAB支持人员联系。



更多&回答...
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:21


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.