Lua
hksoobe
这个作者很懒,什么都没留下…
展开
-
Lua和C程序通过一个堆栈交换数据
数据交换介绍 Lua和C程序通过一个堆栈交换数据: struct lua_State 堆栈的序号可以从栈顶和栈底计数,从栈底计数,则栈底是1,向栈顶方向递增。从栈顶计数,则栈顶是-1,向栈底方向递减。一般都用从栈顶计数的方式。堆栈的默认大小是20,可以用lua_checkstack修改.用lua_gettop则可以获得栈里的元素数目。并不是说在栈顶有一个整形元素。而是计算了一下栈顶元素在栈转载 2014-06-11 21:20:08 · 523 阅读 · 0 评论 -
lua的堆栈(摘要)
首先了解下c++与lua之间的通信: 假设在一个lua文件中有如下定义 -- hello.lua 文件 myName = "beauty girl" 请注意红色数字,代表通信顺序: 1) C++想获取Lua的myName字符串的值,所以它把myName放到Lua堆栈(栈顶),以便Lua能看到 2) Lua从堆栈(栈顶)中获取myName,此时栈顶再次转载 2014-06-11 21:25:05 · 380 阅读 · 0 评论 -
lua table操作详解
本文转自 http://hi.baidu.com/zengfazhou/item/7733ae03eab83d334ac4a3c0 lua_gettable lua_getglobal(L, "mytable") lua_pushnumber(L, 1) lua_gettable(L, -2) lua_settable lua_getglobal转载 2014-06-12 00:57:39 · 698 阅读 · 0 评论 -
Lua5.1的常用API
Lua5.1的常用API lua_State Lua状态机或叫Lua虚拟机,支持多线程,可创建多个状态机 typedef int (*lua_Cfunction)(lua_State* L) Lua所调用的C函数的函数原型,在C程序中需要将这种函数类型的 函数注册到Lua状态机中,此后Lua才能调用到C的函数 如果有函数 int c_Hello(lua转载 2014-06-12 01:31:43 · 517 阅读 · 0 评论 -
为Lua5.2.2编写C模块
本文的环境是win7和VS2010: 1.首先到官网下载lua5.2.2源码包,并且在VS2010上新建空工程比如命名LuaCons,将源码包中的头文件和源文件都添加进去。 2.需要生成lua的动态链接库,首先去掉源文件中的lua.c,并且在vs中的属性->常规->配置类型,修改为动态库(.dll),并且在 属性->C/C++->预处理器中,添加预定义LUA_COMPAT_A转载 2014-06-12 21:30:06 · 512 阅读 · 0 评论 -
Lua和C语言的交互
Lua生来就是为了和C交互的,因此使用C扩展Lua或者将Lua嵌入到C当中都是非常流行的做法。要想理解C和Lua的交互方式,首先要回顾一下C语言是如何处理函数参数的。 C函数和参数 大家知道C语言是用汇编实现的,在汇编语言中可没有函数的概念,与函数对应的是叫做子过程的东西,子过程就是一段指令,一个子过程与它调用的子过程之间通过栈来进行参数的传递交互。在一个子过程在调用别的子过程之前,会按照转载 2014-06-11 12:52:08 · 590 阅读 · 0 评论 -
C向LUA中写入多维数组(表)
最近开发的一个软件需要用一个数组做为软件的设置,部分设置有软件自带做为初始化,其它部分有LUA脚本加入,这里先做一个测试例子用Delphi实现 数组结构如下: UI = { UserName = {T = 'Text',C = '用户名', V = 'user',H = '请输入你的用户名'}; PassWord = {T = 'Text',C = '密码', V = 'word',H =原创 2015-03-27 14:28:13 · 890 阅读 · 0 评论 -
Lua栈介绍以及实例
c++中载入lua的代码 #include //所需要的头文件 extern "C" { #include "include/lua.h" #include "include/lualib.h" #include "include/lauxlib.h" #pragma comment(lib, "lua.lib") }; int main(void) {转载 2014-06-11 22:54:25 · 505 阅读 · 0 评论 -
LUA相关基础知识
Lua是一个嵌入式的脚本语言,它不仅可以单独使用还能与其它语言混合调用。 Lua与其它脚本语言相比,其突出优势在于: 1. 可扩展性。Lua的扩展性非常卓越,以至于很多人把Lua用作搭建领域语言的工具(注:比如游戏脚本)。Lua被设计为易于扩展的,可以通过Lua代码或者 C代码扩展,Lua的很多功能都是通过外部库来扩展的。Lua很容易与C/C++、java、fortran、Smalltalk转载 2016-01-22 01:31:48 · 494 阅读 · 1 评论