给定一个像exec这样的函数,如果给定未知数量的参数,我如何从lua ffi调用它。使用luajit ffi为execvp将变量args转换为char * const []
的函数原型之中:
int execv(const char *path, char *const argv[]);
即
function myexecv(...)
local arg = { ... }
local carg = ffi.new("char *const[?]", #arg)
for i = 1, #arg do
carg[i-1] = arg[i]
end
return ffi.C.execv(carg[0], carg)
end
不工作。
cannot convert 'string' to 'char *const'
我认为可能有一个捷径初始化或创建我可以传入argv的东西。我怎么做?