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