gpt4 book ai didi

c++ - 如何从 C++ 调用 matlab 成员函数?

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:00 33 4
gpt4 key购买 nike

使用 mexCallMATLAB(nlhs, plhs, nrhs, prhs, "foo") 命令我们可以调用一个函数(这里是 "foo.m"),它是用 C++ 在 MATLAB 中编写的。

但是如果“foo”是一个类的方法呢?

classdef Foo < handle
...
function out = foo(obj, in)
...
end
end

从 C++ 调用 MATLAB 类成员函数是否有任何直接或技巧?

最佳答案

在 MATLAB 中,您可以像调用任何其他函数一样调用类方法:

obj.method

相同
method(obj)

您可以使用 mexCallMATLAB 在 MEX 文件中轻松创建类似的调用。如果 prhs 中的任何数组属于 Foo 类型,则 MATLAB 将首先在该类的方法中查找函数。

所以对于 OP 的例子:

mxArray rhs = <mxArray of type Foo>;
mcArray los;
mexCallMATLAB(1, &lhs, 1, &rhs, "foo");

关于c++ - 如何从 C++ 调用 matlab 成员函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46639912/

33 4 0
文章推荐: HTML:td 不是 100% 表格高度
文章推荐: java - 从保存在sharedPreferences中的Arraylist中删除一个对象