我已将 C++ 代码编译为 MEX 文件,但在调用此 MEX 文件时,它会崩溃。它在 MATLAB 中给出以下错误消息:
检测到分段违规
我尝试在 C++ 文件中使用 try-catch 在 catch 块中打印消息,例如,
try {
//my code;
}
catch(std::exception &e)
{
mexPrintf(e.what());
mexEvalString("drawnow;");
return;
}
但打印消息不起作用,代码仍然崩溃。
在查看 Google 时,大多数时候它指向 MathWorks 给出的某种形式的消息:http: //www.mathworks.de/matlabcentral/newsreader/view_thread/25900
其中指示设置环境变量"MATLAB_MEM_MGR=debug"
,但没有说明如何使用它?谁能解释一下?