[整理]Unity3D游戏开发之Lua

您所在的位置:网站首页 lua游戏脚本制作教程 [整理]Unity3D游戏开发之Lua

[整理]Unity3D游戏开发之Lua

2023-03-17 09:26| 来源: 网络整理| 查看: 265

 一、Lua堆栈

    如果我们想要理解Lua语言与其它语言交互的实质,我们首先就要理解Lua堆栈。简单来说,Lua语言之所以能和C/C++进行交互,主要是因为存在这样一个无处不在的虚拟栈。栈的特点是先进后出,在Lua语言中,Lua堆栈是一种索引可以是正数或者负数的结构,并规定正数1永远表示栈底,负数-1永远表示栈顶。换句话说呢,在不知道栈大小的情况下,我们可以通过索引-1取得栈底元素、通过索引1取得栈顶元素。下面呢,我们通过一个实例来加深我们对于这段话的理解:

 

[cpp] view plain copy   #include       extern "C" {   #include "lua.h"   #include "lualib.h"   #include "lauxlib.h"   }      using namespace std;      int main()   {       //创建Lua环境       lua_State* L=lua_open();       //打开Lua标准库,常用的标准库有luaopen_base、luaopen_package、luaopen_table、luaopen_io、       //luaopen_os、luaopen_string、luaopen_math、luaopen_debug       luaL_openlibs(L);       //压入一个数字20       lua_pushnumber(L,20);       //压入一个数字15       lua_pushnumber(L,15);       //压入一个字符串Lua       lua_pushstring(L,"Lua");       //压入一个字符串C       lua_pushstring(L,"C");       //获取栈元素个数       int n=lua_gettop(L);       //遍历栈中每个元素       for(int i=1;i


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3