gpt4 book ai didi

c - 如何从对 ffi :c-inline in ecl? 的调用中返回字符串

转载 作者:行者123 更新时间:2023-12-02 09:15:28 25 4
gpt4 key购买 nike

如何从对 ffi:c-inline 的调用中返回字符串常量?

我尝试了以下变体,但没有成功(ORGANIZATION 是在constants.h 中定义的常量):

(ffi:clines "#include \"./constants.h\"")
(ffi:c-inline () () :string "ORGANIZATION" :one-liner t)

上面的示例会导致以下编译器错误:

Unknown representation type :STRING

最佳答案

使用:cstring代替:string:

constants.h:

#define ORGANIZATION "foobar"

ecl.lsp:

(ffi:clines "#include \"./constants.h\"")
(defun myfun ()
(ffi:c-inline () () :cstring "ORGANIZATION" :one-liner t))

来自 ecl 提示符:

> (compile-file "ecl.lsp" :load t)
...
> (myfun)

"foobar"
>

引用:https://ecl.common-lisp.dev/static/manual/Foreign-Function-Interface.html#Primitive-Types

关于c - 如何从对 ffi :c-inline in ecl? 的调用中返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com