【发布时间】:2023-03-08 11:05:01
【问题描述】:
我想创建一个与 C 中的宏相对应的 lisp 函数。 例如,win32 API中有一个HIWORD,在头文件中定义为宏。
我尝试将其定义如下,但被告知 HIWORD 未解析。
CL-USER 4 > (hiword #xFFFFFFFF)
Error: Foreign function HIWORD trying to call to unresolved external function "HIWORDW".
我只想知道如何为 C 宏(如 C 函数)创建包装器。
(fli:define-c-typedef DWORD (:unsigned :long))
(fli:define-c-typedef WORD (:unsigned :short))
(fli:define-foreign-function
(HIWORD "HIWORD" :dbcs)
((dwVal dword))
:result-type word :calling-convention :stdcall)
【问题讨论】:
标签: lisp c-preprocessor common-lisp ffi lispworks