Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何访问Matlab mex文件中的类值?_C_Matlab_Class_Mex - Fatal编程技术网

C 如何访问Matlab mex文件中的类值?

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

这是我在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 = [];
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