Я посмотрел учебник LuaJIT по адресу: http://luajit.org/ext_ffi_tutorial.html
Я пытаюсь узнать больше о Lua и хотел посмотреть, как легко будет мне вызвать простую "строчную" функцию в "libutility.so", который я написал на C.
Итак, вот функция C, которую я хочу вызвать:
void lowercase(char* str){
int z;
for (z = 0; str[z]; z++){
str[z] = tolower(str[ z ]);
}
}
Итак, теперь я хочу вызвать эту функцию из Lua ... вот мой код, использующий FFI LuaJIT
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)
Приведенный выше код не работает ... ну, я думаю, он работает до последней строки кода выше.
Может кто-нибудь дать мне совет, как я могу вызвать эту "строчную" функцию и правильно распечатать результат?