引言 要将C++中的对象类型映射到Lua中,就不得不要先了解Lua面向对象的机制。在这里,我们先看一下Lua面向对象的实现基础——metatable,再以此实现C++对象到Lua的映射。 Lua面向对象 不得不先提一下Lua的几种函数写法,普通函数有两种写法: 如果要将一个普通函数赋 ...
Lua 简介 Lua 是一种轻量小巧的脚本语言,也是号称性能最高的脚本语言,它用C语言编写并以源代码形式开放。 某些程序常常需要修改内容,而修改的内容不仅仅是数据,更要修改很多函数的行为。 而修改函数行为这种事,很难用简单的更改数据的方式来实现,若在源代码层面上改又得重新编译生成,导致修改成本高。 而脚本语言先通过更改数据,并加了一层对数据解释成运行代码的步骤,从而使程序能在运行时更改复杂的函数 ...
2018-07-29 22:47 0 1684 推荐指数:
引言 要将C++中的对象类型映射到Lua中,就不得不要先了解Lua面向对象的机制。在这里,我们先看一下Lua面向对象的实现基础——metatable,再以此实现C++对象到Lua的映射。 Lua面向对象 不得不先提一下Lua的几种函数写法,普通函数有两种写法: 如果要将一个普通函数赋 ...
通过上一篇的热身,我们对C++调用lua变量有了一个认识,现在让我们再深入一点,去探索一下如何调用lua的函数、表。 Lua与宿主通讯的关键——栈 lua是个动态脚本语言,它的数据类型如何映射到C++这种静态类型语言中?lua是有GC机制的,这与C++手动管理内存相悖。如何解决这些问题 ...
引言 之前做手游项目时,客户端用lua做脚本,基本所有游戏逻辑都用它完成,玩起来有点不爽,感觉“太重”了。而我又比较偏服务端这边(仅有C++),所以热情不高。最近,加入了一个端游项目,客户端和服务器都用了lua,各种玩法是让我眼界大开。在此,写下自己的心得与体会,希望能与大家共同探讨进步 ...
上一篇我们搭建好了整个的项目环境,现在,我们一起探索一下如何将lua寄宿到C++中。 宿主的实现 我们在LuaWithCPPTest项目下,查看Source.cpp代码如下: #include <iostream> #include < ...
引言 通过前几篇,我们已经对Lua的C API有了一定的了解,如lua_push*、lua_is*、lua_to*等等。用C++调用Lua数据时,我们主要运用lua_getglobal与lua_push*配合以达到目的。现在我们来试试用Lua调用C++数据。 C++数据类型映射到Lua ...
现在,越来越多的C++服务器和客户端融入了脚本的支持,尤其在网游领域,脚本语言已经渗透到了方方面面,比如你可以在你的客户端增加一个脚本,这个脚本将会帮你在界面上显示新的数据,亦或帮你完成某些任务,亦或帮你查看别的玩家或者NPC的状态。。。如此等等。但是我觉得,其实脚本语言与C++的结合,远远 ...
前言: 嵌入式开发过程中,我们会使用一些脚本工具辅助我们的工作,例如shel或者python、lua等,今天给大家分享一下,我在工作中用到的lua脚本交互使用。 作者:良知犹存 转载授权以及围观:欢迎关注微信公众号:羽林君 或者添加作者个人微信:become_me 情节介绍 ...
: ②在C++中读取 ③lua_getfield函数 ...