1
我正在寻找来自MEX功能的C++ /独立代码,它已被写入here。是否有可能从C++/MEX文件轻松地使C++独立?如果可能的话,任何提示可以更轻松地做到这一点,我们非常感谢。是否有可能将C++/MEX(Matlab)代码转换为独立的C++?
例如如何Mexfunction参数转换为C++类型
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
//declare variables
mxArray *phi_out, *C_out, *label_out, *mxPhi, *C_in;
const mxArray *mxImg;
const mwSize *mdims;
double *img, *phi, *B, *mask, *C, *label;
double *F;
double usum, vsum, dthresh, lambda, rad;
int iter,countdown,display;
long dims[5];
long dimx, dimy, dimz, numdims;
LL *Lz, *Ln1, *Ln2, *Lp1, *Lp2;
LL *Sz, *Sn1, *Sn2, *Sp1, *Sp2;
LL *Lin2out, *Lout2in;
// and .....
即什么是mxArray,LL类型以及如何在C++定义的?
你是什么意思运行matlab的副本?我应该在计算机上使用Matlab的副本,我总是运行代码?它不能独立呢? – Ehsan
Mex文件将调用只应从MATLAB运行副本调用的函数。例如,注册内存的函数。另一方面,大多数mex文件都包含可以手动修改的可理解的C/C++代码,您可以毫不费力地将其转换为标准库调用。 – Mikhail