在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
这是我在C里面跑出来的第一个Lua 文件, 纪念一下。 1.Set up envirnonment: Mac下面 Lua的src (即include) 和lib(binary)是分开的, 所以需要分别下载。 使用的是 5.2.3 的src 和 standard lib(5.2.1_MacOS107_lib). include 和 lib 在gcc 编译的时候需要用-L 引入。 2.代码: VERY IMPORTANT: ua_open() should not be used. In lua-5.1 it's still available as simple wrapper macro for luaL_newstate(). In lua-5.2 it doesn't exist at all. Attached patch replaces lua_open() call in freeciv code with luaL_newstate() call that works with both lua-5.1 and lua-5.2. 所以 之前写的程序有问题。 改写程序之后 才能run。 gcc : gcc -o HelloMac main.c -L/Users/***/Downloads/lua-5.2.1_MacOS107_lib/include/ -L/Users/***/Documents/lua-5.2.3/src/ -llua 代码如下: #include <stdio.h> #include <string.h> #include "/Users/***/Documents/lua-5.2.3/src/lua.h" #include "/Users/***/Documents/lua-5.2.3/src/lauxlib.h" #include "/Users/***/Documents/lua-5.2.3/src/lualib.h" int main (void) { lua_State *L = luaL_newstate(); /* opens Lua */ luaL_openlibs(L); luaL_dostring(L, "a = 10 + 5"); lua_getglobal(L, "a"); int i = (int)lua_tointeger(L, -1); printf("%d\n", i); lua_close(L); return 0; } |
请发表评论