1. 首页
  2. 编程语言
  3. 其他
  4. Lua教程(三):C语言、C++中调用Lua的Table示例

Lua教程(三):C语言、C++中调用Lua的Table示例

上传者: 2021-05-26 08:58:36上传 PDF文件 71.64 KB 热度 25次

从写上一篇Lua的文章到现在,已经过去半月有余了,是时候让自己的Lua状态refresh一下了。本教程将介绍Lua的栈及基本栈操作,同时还有如何在C/C++代码里面读取Lua的Table。Lua通过一个“虚拟栈”与C/C++程序进行数据交互,所有的Lua C API都是通过操作这个栈来完成相应的数据通信。Lua的这个“虚拟栈”解决了C/C++程序与Lua程序通信的两大问题:1.Lua使用垃圾回收,而C/C++需要手动管理内存。因为这个栈在Lua虚拟机内部,当一个Lua的变量放在栈里面的时候,虚拟机可以知道它有没有被宿主程序所使用,从而决定是否采用GC。而Lua的C API则有更多的控制权,它可以非常灵活地操纵这个栈的任意位置的元素。

用户评论