游戏开发技术人员。最走不了的就是脚本语言。而lua是游戏开发最热门的脚本语言。为此也研究过源码。lua小巧而功能强大。而luajit是lua的一个优化版本。接口完全兼容lua却有着更高的效率。google 公司都对这个开源项目非常看好。我个人喜欢的开源项目很多都是google公司的。
lua和其他语言交互靠虚拟机的堆栈。对于刚刚入门的人来说要维护堆栈还是一个比较有难度的工作。由其是使用Userdata的时候。简便的方法是使用开源的包装库来简化封装过程。luabind,luaplus,lua_tinker等等。使用这些库有个最大的问题是降低了灵活度。而且部分库比较臃肿或者对跨平台支持不好。 那么ffi库又什么作用呢? 学过python的都知道cpython库。ffi是一个可以用脚本来实现c语言定义。使脚本在不失灵活的情况下动态的定义c语言的方法。具体效率如何也还没测试过。等以后有空再测试下。先简单演示下用法。