給定一個像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的東西。我怎麼做?