Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.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函数包周围放置适当的函数,这样我就可以调用C++作为Matlab函数。我的C++代码使用ARCC和ARGV来捕获4个命令行参数。 命令行中的C++函数调用将是: MyFunctionon string1 string2 string3 string4_C++_Matlab_Mex_Argv_Argc - Fatal编程技术网

如何从C++;将代码转换成MatLab Mex文件? 我尝试使用一些C++代码,并在Matlab函数包周围放置适当的函数,这样我就可以调用C++作为Matlab函数。我的C++代码使用ARCC和ARGV来捕获4个命令行参数。 命令行中的C++函数调用将是: MyFunctionon 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']); 您可以找

我想要的是来自MatLab命令行的MatLab函数调用看起来像:myfunction('string1','string2','string3','string4')

我已经浏览了下面的博客文章,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
    }
};