tolua框架学习(二)

本文介绍了tolua框架的学习,从Hello World案例出发,详细解析了tolua执行lua代码的步骤,包括实例化LuaState、DoString方法、虚拟机栈管理和虚拟机析构。接着对比了DoFile和Require方法的异同,指出它们在执行lua文件时的不同处理,特别是路径查找和执行逻辑。在DoFile中,重点讨论了FildFile()和LuaChunkName()方法,而在Require中,重点在于防止重复加载的机制。
摘要由CSDN通过智能技术生成

      这里是从tolua的案例开始学习的。

      tolua的第一的案例就是Hello World。代码很简单。tolua的使用分为三步:

      1、实例化一个lua虚拟机,这里就是new一个LuaState对象,通过Start()方法启动虚拟机。启动方法,设置了一系列的属性值。这里的LuaState就相当于LuaInterface中的Lua类,只不过要复杂很多。

      2、使用DoString方法执行lua代码片段

      3、对lua虚拟机栈的判空,具体对应的就是CheckTop方法。

      4、析构虚拟机

这是一个简单的使用tolua框架的过程。

      第二个案例是讲解的DoFile方法和Require方法的异同。这两个方法都是执行的同一个lua文件,执行结果也是一样的。唯一的不同点在于加载lua脚本是,使用的路径(名字),如下图:

如下图:

DoFile方法加了“.lua”后缀,Require方法则没有加。而且,DoFile()方法可以反复执行,但是,Require方法只能执行一次。

       DoFile方法在加载文件的时候,有一步FildFile()的方法,该方法会检测参数是否是以“.lua”结尾的,然后去掉后缀,最终会尝试将获取到的文件名添加进一个完整的路径中判断该路径是否存在,存在则返回该路径。路径如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值