LuaJIT ffi:如何将字符串数组传递给c函数

普拉纳夫疯子

我想将存储字符串的Lua表传递给c函数。例如,如果我有

tStr = {"String1", "String2", "String3"}

我如何传递给C函数。我想我必须打电话给ffi.new,但是我不确定哪种类型。

local cVar = ffi.new("??" , tStr)  -- I am not sure what to pass as type 

范围

同样在C函数中,我不确定如何访问整个数据,它是否是指向string的字符串指针** str?

void cFunction(**str); --What pointer type should be used here ??

...很抱歉,如果我错过了一个明显的问题。但是我只是从Lua&ffi开始。所以我仍然不了解大多数事情。

埃戈尔·斯克里普图诺夫(Egor Skriptunoff)

这是一个简单的示例:

local ffi = require"ffi"
ffi.cdef"int execvp(const char*file, const char**argv);"
local arg = ffi.new("const char*[3]", {"ls", "-l"})
ffi.C.execvp(arg[0], arg)

请注意,常数3(数组的大小)
等于2(从Lua传递的字符串数{"ls", "-l"}
加1(数组中的最后一个元素实际上是一个零终止符)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

luajit ffi函数返回字符串的奇怪输出

来自分类Dev

从LuaJIT调用C ++ DLL

来自分类Dev

LuaJit FFI从C函数返回字符串到Lua吗?

来自分类Dev

将LuaJIT FFI结构转换为表

来自分类Dev

将LuaJIT FFI结构转换为表

来自分类Dev

使用LuaJit进行FFI加密/解密

来自分类Dev

如何在Windows上将LuaJIT与LuaRocks集成?

来自分类Dev

LuaJIT,如何将cdata转换为userdata?

来自分类Dev

LuaJIT,如何将cdata转换为userdata?

来自分类Dev

如何将字符串数组传递给函数?

来自分类Dev

Luajit ffi如何在time.h中调用funcitons?

来自分类Dev

如何将函数从C ++可执行文件公开给LuaJIT

来自分类Dev

如何将函数从C ++可执行文件公开给LuaJIT

来自分类Dev

LuaJIT ffi cdata和Torch Tensor之间的最佳转换

来自分类Dev

LuaJIT FFI无法从可执行文件加载符号

来自分类Dev

如何将Swift字符串数组传递给带有char **参数的C函数

来自分类Dev

将LuaJIT模块嵌入C应用程序

来自分类Dev

如何检查nginx是否使用LuaJit而不是Lua?

来自分类Dev

如何检查nginx是否使用LuaJit而不是Lua?

来自分类Dev

如何将字符数组传递给字符串

来自分类Dev

创建一个回调结构以传递到LuaJIT FFI

来自分类Dev

创建一个回调结构以传递到LuaJIT FFI

来自分类Dev

如何将字符串数组指针传递给新的字符数组?在 C

来自分类Dev

如何将字符串传递给宏函数

来自分类Dev

如何将字符串传递给 glutCreateWindow() 函数?

来自分类Dev

如何将字符串数组传递给 C 中的另一个函数

来自分类Dev

如何将字符串数组从函数传递给main

来自分类Dev

如何使用LuaJIT FFI创建指向现有数据的指针?

来自分类Dev

如何使用LuaJIT FFI创建指向现有数据的指针?

Related 相关文章

热门标签

归档