
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 · 4399 阅读 · 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 · 3334 阅读 · 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 · 1179 阅读 · 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 · 1311 阅读 · 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 · 3040 阅读 · 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 · 853 阅读 · 0 评论 -
和我一起写lua - 确认操作系统
最近写的lua脚本需要运行在多个平台,因而一些平台相关的属性必须区别设置。如路径分隔符。在lua中,没有找到相关判断操作系统的函数。因此相关设置一直手工设置,增加了环境配置的时间。 在luarocks模块中,有一个luarocks.site_config模块(一个lua文件),其安装时便设定了操作系统类型。因此我们可以从这个模块获取操作系统:示例:require "luaroc原创 2013-03-18 18:28:02 · 4227 阅读 · 1 评论