我正在尝试:
(defconstant x 1)
(cffi:foreign-alloc :int :initial-contents '(x 99))
但是我收到一条错误消息:
The value X is not of type (SIGNED-BYTE 32).
[Condition of type TYPE-ERROR]
我可以定义这个非常重要:
(x 99) ; x does need to be a defconstant equaling 1
作为我正在编写的代码的指针。我怎样才能做到这一点?
答案 0 :(得分:3)
尝试
(cffi:foreign-alloc :int :initial-contents (list x 99))
'(x 99)
表示未评估(x 99)
,因此其列表包含符号x
和数字99
(list x 99)
是一个函数,因此评估x
并将其替换为值1
,然后创建一个包含内容1 and 99
的列表。