简单示例:
main.c
#include#include #include int main(){ lua_State* L = luaL_newstate(); luaL_openlibs(L); printf("——————开始运行脚本——————\n"); if(luaL_loadfile(L, "main.lua") || lua_pcall(L, 0, 0, 0) != 0){ printf("Lua语法错误:\n%s\n",luaL_checkstring(L,-1)); } printf("——————脚本运行完毕——————\n"); lua_close(L); return 0;}
main.lua
print("hello world!")'
输出结果:
[root@localhost ~]# cc -o main main.c -Wall -O2 -llua -lm -ldl[root@localhost ~]# ./main ——————开始运行脚本——————Lua语法错误:main.lua:1: unfinished string near——————脚本运行完毕——————[root@localhost ~]#
为什么会出现错误呢?
原来是不小心在脚本内多输入一个单引号导致语法错误!
现在我们来修改一下。
print("hello world!")
不需要重新编译宿主文件,改变脚本文件后直接运行即可。
现在输出结果如下:
[root@localhost ~]# ./main ——————开始运行脚本——————hello world!——————脚本运行完毕——————[root@localhost ~]#