和我一起写lua - Mac OS X环境编译C模块
2013-01-12 20:31:30
分类: Python/Ruby
我们已经看到如何在C文件中使用lua_register注册lua可以使用的函数,也了解了C函数和lua函数之间如何传递参数。再提升一步,我们还可以将一组C函数组成一个模块交给lua环境使用。看具体的例子: mylualib.c 点击(此处)折叠或打开
具体编译命令(粗体部分不同于Linux,如果不使用这些选项,liblua将会被编译到so文件中并引起“multiple lua vms detected”错误, bundle是Mac使用的文件格式): gcc -c mylualib.c ; gcc -O2 -bundle -undefined dynamic_lookup -o mylualib.so mylualib.o 生成的mylualib.so就是可以在lua环境使用的模块。 再看一下lua脚本引用mylualib模块的的方法: my.lua 点击(此处)折叠或打开
最后看一下lua脚本执行的结果: $ lua my.lua Lua: Hi C, I'm Lua Hi Lua, nice to meet you [注明:lua版本是5.2.1] |
|