您好我想从我的matlab发送一个值到我的mex函数。该值通常约为10位数,我使用的是无符号长long数据类型。
但是我很难从mexfile访问它。 mxGetPr返回double类型,所以我必须做一些类型转换吗?
答案 0 :(得分:0)
是的,我刚遇到这个。你不应该再使用mxGetPr
了。更好的方法是首先检查这样的类型:
if(!mxIsClass(prhs[0],"double"))
{
mexErrMsgTxt("Data must be of type double!!!\n");
}
然后通过(double *)mxGetData(prhs[0])
或您的案例(unsigned long long int*)mxGetData(prhs[0])
您可以查看mxIsClass
和mxGetData
了解详情。