1
我從Fortran函數運行Matlab和我有,我得到的錯誤mxDestroyArray雙重釋放或腐敗
*** glibc detected *** /matlab/8.5/bin/glnxa64/MATLAB: double free or corruption (out): 0x00002b11a9a86f20 ***
一個長期存在的問題,我不知道這行的錯誤是發生在,但我有相當一些遵循這種模式
MLVar = engGetVariable(ep, 'un')
call mxCopyPtrToReal8(mxGetPr(MLVar), SurfaceField, BoundaryCells)
call mxDestroyArray(MLVar)
我在這個錯誤發生之前經過1到100之間的這個函數。
看起來像here他們說使用mxDestroyArray
我已經在使用。
有沒有建議嗎?
只是一個完整的猜測:也許你應該把調用'mxCopyPtrToReal8()'和'mxDestroyArray()'放入一個if(MLVar!= 0)然後是'endif'塊... – Gilles
MLVar是如何創建的? – Navan
MLVar被聲明爲'mwPointer MLVar' – user1543042