gpt4 book ai didi

c - lua中的动态ffi函数调用

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:21 25 4
gpt4 key购买 nike

我们可以从字符串动态创建一个函数并调用 ffi.C 绑定(bind)吗?示例:

ffi.cdef [[

void foo_bar_A_get_info(void);
void foo_bar_B_get_info(void);

]]

some = ffi.load("some.so")
function call_fun(var)
-- var can be A or B
some.foo_bar_var_get_info()
end

call_fun("A")
call_fun("B")

我收到错误消息:缺少符号“foo_bar_var_get_info”的声明

我在网上搜索了很多但找不到任何方法,所以想在这里发布它以便有人可以提供帮助。

最佳答案

从 FFI 加载的 C 库就像 Lua 表一样被索引;您可以用相同的方式使用原始值对它们进行索引:

some["foo_bar"..some_string.."_baz"]()

关于c - lua中的动态ffi函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23817175/

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