C 如何访问Matlab mex文件中的类值?
这是我在Matlab中使用.m文件的简单虚拟类C 如何访问Matlab mex文件中的类值?,c,matlab,class,mex,C,Matlab,Class,Mex,这是我在Matlab中使用.m文件的简单虚拟类 function obj = dummy(varargin) if nargin~=1 error('nothing to do here') return end obj = init_fields; obj = class(obj, 'dummy'); obj.file = varargin{1}; end function obj = init_fields() obj.file = []; en
function obj = dummy(varargin)
if nargin~=1
error('nothing to do here')
return
end
obj = init_fields;
obj = class(obj, 'dummy');
obj.file = varargin{1};
end
function obj = init_fields()
obj.file = [];
end
>> a = dummy('file.name');
我现在可以访问其他.m函数文件中的a.file
。e、 g.something=newfunction(a)
但是如何在C编写的MEX函数中访问obj.file的值(我可以使用fopen(“file.name”))
有什么想法吗?从R2014a开始,Matlab矩阵库中有两个API函数:
mxGetProperty
和mxSetProperty
。(请参阅)只要对象是具有公共属性的简单值类,它们就应该可以工作。否则,您必须使用mexCallMATLAB
来访问数据。我找不到任何方法来访问MEX文件中的类值。
我现在的解决方法是使用.m函数作为包装器
function out=dumdum(obj,cmd)
out=mexfnc(obj.file, cmd);
end
function out=dumdum(obj,cmd)
out=mexfnc(obj.file, cmd);
end