Published on

lua调试

Authors
  • avatar
    Name
    Ushen
    Twitter

这里以lua5.4为例

lua官网

curl -L -R -O https://www.lua.org/ftp/lua-5.4.6.tar.gz
tar zxf lua-5.4.6.tar.gz
cd lua-5.4.6
make all test

下载lua后编译

我这里目录解压成了lua54

在目录下新建文件main.c

#include "./lua54/src/lua.h"
#include "./lua54/src/lualib.h"
#include "./lua54/src/lauxlib.h"

int main()
{
    // 初始化Lua解释器
    lua_State* L = luaL_newstate();
    luaL_openlibs(L);

    // 加载并执行Lua脚本文件
    luaL_dofile(L, "test.lua");

    // 关闭Lua解释器
    lua_close(L);

    return 0;
}

test.lua

print("test")

这里编译的时候需要把库链到你当前的文件夹

gcc main.c -o main -L ./lua54/src -llua -lm

编译main的同时也要编译lua,因为会修改lua

这里为了方便就不写MakrFile了(其实是还没写过这个,后面研究一下)

写两个脚本,一个编译lua,一个编译main

buildLua.sh

cd lua54 && make all test

run.sh

bash buildLua.sh
gcc main.c -o main -L ./lua54/src -llua -lm && ./main

调试的时候执行run.sh就好了