В Haskell FFI, в чем принципиальная разница между массивами, выделенными с withArray
и newArray
?У меня есть функция в C, которая работает с newArray
, но segfaults с withArray
.Рабочий код выглядит примерно так:
a <- newArray items
fficall a
free a
Код segfaults выглядит следующим образом:
withArray items fficall
Сегфолт возникает, когда ffi входит в функцию blas.Поскольку мне не разрешено показывать c-код, вопрос в том, «пожалуйста, покажите мне пример c-функции, которая также работает с withArray
, но не с newArray
.»