067 - 问,lua程序设计(第四部分)笔记一,c++调用lua

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua

c++调用lua

简单解释器

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua_第1张图片

运行:

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua_第2张图片

头文件简介

lua.h

定义了lua提供的基础函数。(e.g. 创建lua环境、调用lua函数、读写lua的全局变量、注册lua调用的c函数等等)

lauxlib.h

auxiliary library。辅助库。

所有定义以luaL_开头。

抽象层。

lualib.h

定义了打开标准库的函数。

栈LIFO

压入元素

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua_第3张图片

查询栈空间是否足够

wps_clip_image-24755

最大值由这里定义:

wps_clip_image-17691

索引

第一个压入的元素索引为1;

第二个压入的元素索引为2;

以此类推。

也可以站顶为参考物,负数索引,则:

栈顶元素索引为-1;

其次为-2;

以此类推。

检查类型

wps_clip_image-2988

lua_is...其实:检查的是能否转换为对应的类型。

lua_type返回类型,如下:

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua_第4张图片

取值

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua_第5张图片

其他操作

wps_clip_image-7480

遍历栈

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua_第6张图片

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua_第7张图片

067 - 问,lua程序设计(第四部分)笔记一,c++调用lua_第8张图片

代码下载

https://github.com/everettjf/luavc 

你可能感兴趣的:(067 - 问,lua程序设计(第四部分)笔记一,c++调用lua)