我已经看过了LuaJIT教程在:http://luajit.org/ext_ffi_tutorial.htmlLuaJIT&FFI:如何正确使用char *?
我想获得更多的进入Lua和想看看它是多么容易让我在“libutility.so”调用一个简单的“小写”功能我已经写在C
因此,这里的C函数我想打电话:
void lowercase(char* str){
int z;
for (z = 0; str[z]; z++){
str[z] = tolower(str[ z ]);
}
}
所以现在我想打电话从Lua这个函数...这里是使用LuaJIT的FFI
我的代码local ffi = require("ffi")
ffi.cdef[[
void lowercase(char* str);
]]
local utility = ffi.load("utility")
local buf = ffi.new("char[?]", 11)
ffi.copy(buf, "HELLO WORLD")
utility.lowercase(buf)
print("Result: ", #str)
上面的代码不起作用...以及我认为它可以工作,直到上面的最后一行代码。
有人可以请给我一些建议,我可以如何调用这个“小写”函数并正确打印结果吗?