Was ist in der Haskell FFI der wesentliche Unterschied zwischen Arrays, die mit withArray
y newArray
? Ich habe eine Funktion in c, die funktioniert mit newArray
aber Seg-Fehler mit withArray
. Der Arbeitscode sieht in etwa so aus:
a <- newArray items
fficall a
free a
Der fehlgeschlagene Code sieht folgendermaßen aus:
withArray items fficall
Der Segfault tritt auf, wenn der ffi eine blas-Funktion betritt. Da ich den C-Code nicht zeigen darf, ist die Frage, "Bitte zeigen Sie mir ein Beispiel für eine c-Funktion, die auch bei withArray
aber nicht mit newArray
."