如何从C++;将代码转换成MatLab Mex文件? 我尝试使用一些C++代码,并在Matlab函数包周围放置适当的函数,这样我就可以调用C++作为Matlab函数。我的C++代码使用ARCC和ARGV来捕获4个命令行参数。 命令行中的C++函数调用将是: MyFunctionon string1 string2 string3 string4
我想要的是来自MatLab命令行的MatLab函数调用看起来像:myfunction('string1','string2','string3','string4')如何从C++;将代码转换成MatLab Mex文件? 我尝试使用一些C++代码,并在Matlab函数包周围放置适当的函数,这样我就可以调用C++作为Matlab函数。我的C++代码使用ARCC和ARGV来捕获4个命令行参数。 命令行中的C++函数调用将是: MyFunctionon string1 string2 string3 string4,c++,matlab,mex,argv,argc,C++,Matlab,Mex,Argv,Argc,我想要的是来自MatLab命令行的MatLab函数调用看起来像:myfunction('string1','string2','string3','string4') 我已经浏览了下面的博客文章,OP可以用C(不C++)来做这件事,在C++和MATLAB文档之间,我有点困惑(主要是因为博客和MathWork C++文档的语法差异) 将其复制到命令窗口中: edit([matlabroot'/extern/examples/cpp_-mex/arrayProduct.cpp']); 您可以找
我已经浏览了下面的博客文章,OP可以用C(不C++)来做这件事,在C++和MATLAB文档之间,我有点困惑(主要是因为博客和MathWork C++文档的语法差异)
将其复制到命令窗口中:
edit([matlabroot'/extern/examples/cpp_-mex/arrayProduct.cpp']);
您可以找到一些其他示例将其复制到您的命令窗口中:
edit([matlabroot'/extern/examples/cpp_-mex/arrayProduct.cpp']);
你可以找到一些其他的例子
你可以使用C MEX API调用C++代码,你不需要使用新的C++ API。尽管可以说,C++ API更容易使用,但是它的例子却更少。你可以使用C MeX API调用C++代码,不需要使用新的C++ API。尽管可以说,C++ API更容易使用,但至今还没有很多例子。#include "mex.hpp"
#include "mexAdapter.hpp"
using namespace matlab::data;
using matlab::mex::ArgumentList;
class MexFunction : public matlab::mex::Function {
public:
void operator()(ArgumentList outputs, ArgumentList inputs) {
int argc = 0;
argc = inputs.size();
//I'm unsure of how to handle the argv portion(?)
main(argc,argv);
}
int main(int argc, char *argv[]){
//Rest of code... omitted for brevity of question
}
};