原文:Lua与C的交互

Lua 与 C 的交互 Lua是一个嵌入式的语言,它不仅可以是一个独立运行的程序,也可以是一个用来嵌入其它应用的程序库。 C API是一个C代码与Lua进行交互的函数集,它由以下几部分构成: 读写Lua全局变量的函数 调用Lua函数的函数 运行Lua代码片段的函数 注册C函数后可以在Lua中被调用的函数 在C和LUA之间交互的关键在于一个虚拟栈 virtual stack ,数据交互通过栈进行。操 ...

2014-10-29 16:00 0 7227 推荐指数:

查看详情

[Lua]与c#的交互(一)

参考链接: https://www.cnblogs.com/chinarbolg/p/9601452.html luainterface下载(推荐用1.5.3): http://files ...

Sun Jan 26 21:55:00 CST 2020 0 1266
LuaC 交互之UserData(4)

lua作为脚本于要能够使用宿主语言的类型,不管是宿主基本的或者扩展的类型结构,所以Lua提供的UserData来满足扩展的需求。在Lua中使用宿主语言的类型至少要考虑到几个方面: 数据内存 生命周期 数据操作 下面的内容主要参考《Lua程序设计》,数据保存在Lua堆栈 ...

Tue Feb 21 02:40:00 CST 2017 0 8385
C++与Lua交互(一)

引言 之前做手游项目时,客户端用lua做脚本,基本所有游戏逻辑都用它完成,玩起来有点不爽,感觉“太重”了。而我又比较偏服务端这边(仅有C++),所以热情不高。最近,加入了一个端游项目,客户端和服务器都用了lua,各种玩法是让我眼界大开。在此,写下自己的心得与体会,希望能与大家共同探讨进步 ...

Wed Feb 26 06:48:00 CST 2014 12 4543
C++与Lua交互(二)

上一篇我们搭建好了整个的项目环境,现在,我们一起探索一下如何将lua寄宿到C++中。 宿主的实现 我们在LuaWithCPPTest项目下,查看Source.cpp代码如下: #include <iostream> #include < ...

Tue Mar 11 01:35:00 CST 2014 18 6212
C++与Lua交互(四)

引言 通过前几篇,我们已经对LuaC API有了一定的了解,如lua_push*、lua_is*、lua_to*等等。用C++调用Lua数据时,我们主要运用lua_getglobal与lua_push*配合以达到目的。现在我们来试试用Lua调用C++数据。 C++数据类型映射到Lua ...

Sun Mar 23 20:01:00 CST 2014 10 7406
C++与Lua交互(五)

引言 要将C++中的对象类型映射到Lua中,就不得不要先了解Lua面向对象的机制。在这里,我们先看一下Lua面向对象的实现基础——metatable,再以此实现C++对象到Lua的映射。 Lua面向对象 不得不先提一下Lua的几种函数写法,普通函数有两种写法: 如果要将一个普通函数赋 ...

Tue Apr 15 18:16:00 CST 2014 7 5312
C++与Lua交互(三)

通过上一篇的热身,我们对C++调用lua变量有了一个认识,现在让我们再深入一点,去探索一下如何调用lua的函数、表。 Lua与宿主通讯的关键——栈 lua是个动态脚本语言,它的数据类型如何映射到C++这种静态类型语言中?lua是有GC机制的,这与C++手动管理内存相悖。如何解决这些问题 ...

Thu Mar 13 19:59:00 CST 2014 2 3015
LuaC 交互LUA_REGISTRYINDEX(3)

通常来说,C函数需要保留一些非局部的数据,也就是指那些超过他们作用范围的数据。C语言中我们使用全局变量或者static变量来满足这种需要。然而当你为Lua设计一个程序库的时候,全局变量和static变量不是一个好的方法。首先,不能将所有的Lua值保存到一个C变量中。第二,使用这种变量的库不能在多个 ...

Mon Feb 20 20:08:00 CST 2017 0 5601
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM