.cpp代码如下
extern "C"
{
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "/data/project/LuaJIT-2.1.0-beta2/src/lua.h"
#include "/data/project/LuaJIT-2.1.0-beta2/src/lualib.h"
#include "/data/project/LuaJIT-2.1.0-beta2/src/lauxlib.h"
}
int main()
{
lua_State *L=luaL_newstate(); /*创建一个解释器句柄*/
luaL_openlibs(L); /*打开所有的Lua库*/
luaL_loadfile(L,"script.lua"); /*调入Lua脚本文件*/
lua_pcall(L,0,0,0); /*执行Lua脚本*/
lua_close(L); /*关闭句柄*/
return 0;
}
编译时要使用-lluajit -L/data/project/LuaJIT-2.1.0-beta2/src
lua代码如下
--package.cpath = '/data/project/LuaJIT-2.1.0-beta2/src/libluajit.a'--这句话不需要
print("hello world")
local ffi = require("ffi")
ffi.cdef[[
typedef struct{
int len;
char value[128];
}MY

本文介绍如何在C代码中使用LuaJit的 Foreign Function Interface (FFI)。强调了编译时需要链接LuaJit库,并且提醒开发者注意LuaJit与Lua的兼容性问题,避免因环境混用导致的错误。建议在开发时使用绝对路径确保头文件和库的一致性。
最低0.47元/天 解锁文章
3471

被折叠的 条评论
为什么被折叠?



