Hello StackOverflow社区
我在Visual Studio 2013中实现了一个非常基本的mexFunction。我可以编译一个空的mexFunction,如下所示,当我在MATLAB中测试它时,它完美地工作:
#include "mex.h"
void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
{
}
但是,当我输入任何函数时,编译仍然成功,但当我尝试在MATLAB中运行时,MATLAB崩溃。
#include "mex.h"
void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
{
const char* message = "Hello World";
mexPrintf(message);
}
这是人类可能的基本示例,它会导致MATLAB崩溃。它不使用我提供的任何输入。我尝试了0输入到3个输入:
cfg.i = 1;
cfg.o = 2;
cfg.p = 3;
mcx(cfg);
mcx是visual studio编译的mex函数的名称。在重新编译mexFunction之前,我清除了整个文件夹。任何有关此问题的帮助都会非常有用。
此代码的编译是成功的,但也崩溃了MATLAB:
#include "mex.h"
void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
{
mexPrintf("test");
}