[問題]關於matlab 呼叫c function
各位高手好
我想要利用Mex來加速matlab
目前遇到的問題是,我在做測試的時候,在進入c code前 disp('123')
然後在c code的第一行 mexPrintf("123"),不知道為什麼第一個123印完之後不會馬上
印出456
大概matlab.m code如下
...
...
disp('456');
QQ=c_code(A,B,C);
...
...
------------------------
c_code.cpp:
void callfun(........){
....
....
....
....
}
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray
*prhs[]){
mexPrintf("456\n");
fflush(stdout);
callfun(plhs,prhs,nlhs,nrhs);
return;
}
A的dimension是128*300000
B是128*1000
C是1000*300000
可以請問一下為甚麼在進入c code的時候會停頓非常長的一段時間(我是用123的出現時間
~456的出現時間判斷的),還是只是單純io不會馬上output到銀幕上呢?
如果需要完整的code我會po出來,現在怕版面太亂。
matlab version :2013a
OS:windows 8
compiler vs2012
compile command:
mex -v -largeArrayDims c_code.cpp COMPFLAGS="/Ox $COMPFLAGS"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.47.61
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1396274592.A.815.html
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章
7
20