由于工作中一直用的是lua开发,可以把lua看作是胶水语言,和c有很好的亲和性,最近想研究一下c与lua之间调用的原理。
1.lua的安装
首先去lua官网下载最新的源码(http://www.lua.org/start.html#installing),下载完成之后
tar -xvf lua-5.3.2.tar.gz #解压缩
cd lua-5.3.2
sudo make maxos test
sudo make install
然后输入lua, 出现下面内容说明lua安装成功
Lua 5.3.2 Copyright (C) 1994-2015 Lua.org, PUC-Rio
2.xcode中新建项目
在xcode中新建一个c项目,然后右键导入lua.h,lualib.h,lauxlib.h,luaconf.h,liblua.a( 这几个文件都可以在上一步下载的源码中找到)。
3.代码实例
//
// main.c
// CLua
//
// Created by cheng on 16/1/6.
// Copyright (c) 2016年 cheng. All rights reserved.
//
#include <stdio.h>
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
int main(int argc, const char * argv[]) {
// insert code here...
lua_State *L = luaL_newstate(); /* opens Lua */
luaL_openlibs(L); /* opens the standard libraries */
luaL_dofile(L,"/Users/cheng/Documents/CLua/lua/test.lua"); /* runs Lua script */
lua_close(L);
return 0;
}
function saysth()
print("hello world");
end
myname = "loster";
saysth();
运行结果: