ch01-编译lua源码并使用

下载安装

curl -L -R -O https://www.lua.org/ftp/lua-5.1.5.tar.gz
tar zxf lua-5.1.5.tar.gz
cd lua-5.1.5
make linux 
make install

这样就可以编译好了, 完成之后,可以执行lua -v 确认一下

并且是可以在src目录下看到liblua.a 文件以及在/usr/local/include目录下有.h文件

利用C导入lua文件并执行

编译完lua之后,就可以利用C根据命令行参数读取不同的lua文件来执行

// loadlua.c
#include <stdio.h>
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>

int main(int argc, char *argv[]) {
  	char *file = NULL;
  		
  	if (argc == 1) {
    	file = "my.lua";
  	} else {
    	file = argv[1];
  	}

  	lua_State *L = lua_open();
  	luaL_openlibs(L);
  	luaL_dofile(L, file);

  	return 0;
}

这个c文件之所以这么写,可以看作是参照源码中lua.c的

编译的话,需要gcc loadlua.c -llua -lm -o main 链接上liblua.a 以及lm才能够成功

#test.lua
local a  = 1
print("hello world")

利用刚才的c文件导入这个lua文件,就能够得到lua的执行结果