我正在使用C++代码中由matrix.h定义的
当我查看Matlab的崩溃报告时,造成崩溃的断言与我的代码中引发的断言相同,包括我的描述性描述... 我需要以某种方式运行我的Mex代码,以便Matlab可以识别Mex代码引起的断言(类似于try-catch)吗?
可能还有其他安全停止我的Mex代码并返回到Matlab提示符的方法。
谢谢您的帮助!
mxAssert
宏,Mex可以完美编译。当在我的被调用Mex代码中违反了某个断言时,这个断言不会导致我的程序崩溃,但会导致Matlab本身崩溃。我是否遗漏了什么?这是预期行为吗?当我查看Matlab的崩溃报告时,造成崩溃的断言与我的代码中引发的断言相同,包括我的描述性描述... 我需要以某种方式运行我的Mex代码,以便Matlab可以识别Mex代码引起的断言(类似于try-catch)吗?
可能还有其他安全停止我的Mex代码并返回到Matlab提示符的方法。
谢谢您的帮助!
#include <matrix.h>
class Temp {
public:
Temp();
virtual ~Temp();
};
Temp::Temp() {
// TODO Auto-generated constructor stub
}
Temp::~Temp() {
// TODO Auto-generated destructor stub
}
extern "C" {
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
int foo = 10;
mxAssert(foo==11, "foo is not 10");
}
}