大话C与Lua(一)调用Lua打印Hello world!

先来个简单的示例:

#include 
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
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.c

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 ~]#

为什么会出现错误呢?

原来是不小心在脚本内多输入一个单引号导致语法错误!

现在我们来修改main.c文件。

print("hello world!")

不需要重新编译宿主文件,改变脚本文件后直接运行即可。

现在输出结果如下:


——————开始运行脚本——————

hello world!

——————脚本运行完毕——————

[root@localhost~]#

你可能感兴趣的:(大话C与Lua(一)调用Lua打印Hello world!)