Я бег Matlab из Fortran функции и возникаю постоянную проблему, которую я получаю ошибку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 секундами до возникновения этой ошибки.
Похоже, они использовали mxDestroyArray
, которые я уже использую.
Советуете?
Достаточно полная догадка: возможно, вы должны заключить вызовы 'mxCopyPtrToReal8()' и 'mxDestroyArray()' в 'if (MLVar! = 0), а затем' 'endif' ... – Gilles
Как создается MLVar ? – Navan
MLVar объявлен как 'mwPointer MLVar' – user1543042