【发布时间】:2011-06-25 01:37:33
【问题描述】:
我看过 LuaJIT 教程:http://luajit.org/ext_ffi_tutorial.html
我正在尝试更多地了解 Lua,并想看看在我用 C 编写的“libutility.so”中调用一个简单的“小写”函数对我来说是多么容易。
所以这里是我要调用的 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)
上面的代码不起作用......我认为它直到上面的最后一行代码才起作用。
谁能给我一些建议,告诉我如何调用这个“小写”函数并正确打印出结果?
【问题讨论】:
标签: lua