2013-02-20 2 views
2

을 통해 결과를 얻기 위해 포인터를 전달? 확실히 return_a_value의 당신의 정의를 포함하여이 시점까지다음은 C에서 함수의 CFFI

(defcunion Example 
    (number :int) 
    (ptr :pointer)) 

(defcfun "return_a_value" :void 
    (retval :pointer)) ; I'm not very sure here.. 

답변

2

모든의는. 이 함수를 호출하는 방법은 다음과 같습니다.

(with-foreign-object (arg 'example) 
    (setf (foreign-slot-value arg 'example 'number) 123) 
    (return-a-value arg) 
    (foreign-slot-value arg 'example 'number))