0

我正在尝试做:

(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

作为我正在编写的代码的指针。我怎样才能做到这一点?

4

1 回答 1

3

尝试

(cffi:foreign-alloc :int :initial-contents (list x 99))

'(x 99)表示(x 99)未评估,因此它是一个包含符号x和数字的列表99

(list x 99)是一个函数,因此x被评估并替换为它的值1,然后使用内容创建一个列表1 and 99

于 2013-09-17T08:55:00.040 回答