请问cffi:with-foreign-object免费数组元素?

时间:2017-11-01 05:09:25

标签: memory-leaks common-lisp cffi

这是我正在尝试做的事情:

(defun do-some-fun-stuff (string-list)
  (let ((n (length string-list)))
    (cffi:with-foreign-object (array :string n)
      (loop for i below n
            for s in string-list
            do (setf (cffi:mem-aref array :string i) s))
      (call-some-foreign-function n array))))

我理解array本身将在离开with-...块后被释放,但数组的元素怎么样? (setf (cffi:mem-aref array :string i) s)表达式将为每个元素分配一个以null结尾的char *数组,对吗?我应该自己释放它们还是CFFI会为我做这件事?我无法在文档和CFFI代码中找到明确的答案。

0 个答案:

没有答案