lua
技术笔记本
这个作者很懒,什么都没留下…
展开
-
和我一起写lua - Mac OS X环境编译C模块
我们已经看到如何在C文件中使用lua_register注册lua可以使用的函数,也了解了C函数和lua函数之间如何传递参数。再提升一步,我们还可以将一组C函数组成一个模块交给lua环境使用。看具体的例子: mylualib.c #include lua.h> #include lauxlib.h> #include lualib.h> static int h原创 2013-01-12 20:56:56 · 4377 阅读 · 0 评论 -
和我一起写lua - C和lua的参数传递与返回值
lua通过一个运行时栈来维护参数传递及返回,使用lua_to*等函数获取lua传递到C函数的参数,使用lua_push*从C函数返回值到lua脚本。此外也可以使用lua_getglobal从C函数获取lua脚本定义的全局变量。具体参看例子(test_lua.c): #include lua.h> #include lauxlib.h> #include s原创 2013-01-12 14:27:32 · 3300 阅读 · 0 评论 -
和我一起写lua - C调用lua函数
在C语言中,可以通过调用lua_register或者luaL_newlib将C函数注册到lua环境,供lua脚本使用。同样道理,C语言也可以通过lua API调用lua函数。具体例子: #include lua.h> #include lauxlib.h> #include stdlib.h> /* For function exit() */ #inc原创 2013-01-13 13:33:53 · 1164 阅读 · 0 评论 -
和我一起写lua - 使用C扩展lua
在C文件中,可以通过调用lua_register函数注册新的可以在lua脚本中使用的函数。 具体例子(test_lua.c)如下所示: #include lua.h> #include lauxlib.h> #include stdlib.h> /* For function exit() */ #include stdio.h> /* For input/o原创 2013-01-12 14:25:56 · 1291 阅读 · 0 评论 -
和我一起写lua - Hello world
lua是非常简单的脚本语言,我们以一个简单的例子开始(假设文件名字为my.lua) print("Hello world") 具体执行时,在命令行运行:lua my.lua 结果为: $ lua my.lua Hello world 另外,也可以在C语言中调用lua脚本。具体例子(test_lua.c)如下所示:原创 2013-01-12 14:24:00 · 3005 阅读 · 0 评论 -
和我一起写lua - lua模块管理
lua有一个专门的模块管理工具, luarocks 在mac os x上试了一下,lua安装5.2,luarocks安装2.0.12(前几个2.0版本的luarocks有bug), 然后用luarocks install luafilesystem 成功原创 2012-12-13 16:27:28 · 841 阅读 · 0 评论 -
和我一起写lua - 确认操作系统
最近写的lua脚本需要运行在多个平台,因而一些平台相关的属性必须区别设置。如路径分隔符。 在lua中,没有找到相关判断操作系统的函数。因此相关设置一直手工设置,增加了环境配置的时间。 在luarocks模块中,有一个luarocks.site_config模块(一个lua文件),其安装时便设定了操作系统类型。 因此我们可以从这个模块获取操作系统: 示例: require "luaroc原创 2013-03-18 18:28:02 · 4187 阅读 · 1 评论