[問題]關於matlab 呼叫c function

看板MATLAB作者 (洨紅)時間11年前 (2014/03/31 22:03), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
各位高手好 我想要利用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
文章代碼(AID): #1JENMWWL (MATLAB)
文章代碼(AID): #1JENMWWL (MATLAB)