在Lua中調用C語言函數需要使用Lua的C API。下面是一個簡單的示例:
假設有一個C語言函數add,功能是將兩個整數相加并返回結果。在Lua中調用這個函數的步驟如下:
#include <lua.h>
#include <lauxlib.h>
int add(lua_State *L) {
int a = lua_tointeger(L, 1);
int b = lua_tointeger(L, 2);
lua_pushinteger(L, a + b);
return 1;
}
local ffi = require("ffi")
ffi.cdef[[
int add(int a, int b);
]]
local result = ffi.C.add(10, 20)
print(result)
這樣就可以在Lua中調用C語言函數add,并輸出結果。需要注意的是,調用C函數時需要使用ffi模塊來加載動態鏈接庫并聲明函數的原型。