我想将一个整数数组从 MATLAB 传递给 C。我尝试使用 uint64_T 类型,但它一直在崩溃。使用 mxGetPr() 获取双指针工作正常,但我需要将内容类型转换为整数,并且在每次迭代中这样做可能会很慢。
我在 mexFunction 中试过这个:
uint64_T *l;
l= (uint64_T *)mxGetData(prhs[1]);
调用此变量的函数具有以下形式:
void XAction( const double *v, const uint64_T *l, double *w)
{
for (j=c; j; j--)
for (i=r-1; i; i--)
w[i] =v[l[r*j +i]]
}
我在类型转换中犯了错误吗?
我已经看到了这个答案:如何在 MEX 函数中读取整数数组,但我一直无法取得进展。