我正在将一些 MATLAB 函数编译成 C DLL。导出的mlf
函数返回一个布尔值,表示函数是否成功。当返回值为false时,我想找出错误信息。我找不到办法做到这一点!(除了编译和导出lasterror()
函数)。
是否有 C 接口来获取 MATLAB 运行时生成的最后一个错误?
好吧,让我们试试……
mexCallMATLABWithTrap(C 和 Fortran) - 调用 MATLAB 函数、用户定义的 M 文件或 MEX 文件并捕获错误信息
#include "mex.h"
mxArray *mexCallMATLABWithTrap(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[], const char *functionName);
和
mexEvalStringWithTrap(C 和 Fortran)- 在调用者的工作区执行 MATLAB 命令并捕获错误信息
#include "mex.h"
mxArray *mexEvalStringWithTrap(const char *command);
这两件事是通过谷歌和一两个猜测找到的。对不起,如果这是浪费时间。