Lua学习
在学习Lua和使用Lua过程中的一些笔记以及总结
奋斗Andy
努力不一定成功,成功离不开努力!
展开
-
Lua IO库笔记
IO库提供了两套不同风格的文件处理接口。第一种风格为简单模式, 其使用隐式的文件句柄; 它提供设置默认输入文件已经默认输出文件的操作, 所有的输入输出操作都针对这些默认文件。第二种风格为完全模式,其使用显示的文件句柄当使用隐式句柄时, 所有的操作都由表IO提供,当使用显示文件句柄, io.open会返回文件句柄, 且所有的操作都由该文件句柄的方法来提供。表IO中也提供了三个和C中含义相同的预定义文件句柄:io.stdin、io.stdout、stderr. I/O库永远不会关闭这些文件简单模式在原创 2021-01-16 14:49:39 · 1149 阅读 · 0 评论 -
C使用lua_next遍历嵌套的table(上)
概述前面的 Lua笔记-关于lua table的C API 文章中已经讲到了关于Lua table的一些函数,如setfield、settable等等今天我们讲如何通过lua_next函数来遍历table,当然取内容的时候还是要用到前面介绍的那些API的,这篇文章主要讲解lua_next函数的原理。lua_next函数在前面的的那些操作table的api中大多需要知道key,这个可以解析固定格式的...原创 2018-03-08 20:59:16 · 4367 阅读 · 0 评论 -
C与Lua交互之将C结构体组成table传递到Lua
概述前面的Lua与C交互之函数注册中讲述了怎么将C函数注册到Lua中让Lua使用。当Lua中调用C提供的获取数据的接口时,C怎么将多个结构体类型转换成Lua的嵌套table类型呢?下面通过一个例子来讲解例子详解C数据类型typedef struct student{ int age; ///< 年龄 int grade; ///< 年级 char name[32];...原创 2018-03-07 21:09:25 · 6212 阅读 · 4 评论 -
C与Lua交互之交互原理
lua作为脚本语言,就是用来扩展宿主程序或者嵌入到宿主程序中的,这里宿主程序使用C来讲解下Lua与C交互的原理。在这之前先讲下C语言是如何调用函数以及函数参数的。C函数和参数的调用我们都知道C语言的函数调用时通过函数调用栈实现的,当一个函数调用另一个函数时,会按照约定的格式将要调用的函数的参数压人栈中,在被调用的函数中,可以按照约定的规格将参数从栈中取出, 同理对于返回值的传递也是通过堆栈实现的,...原创 2018-02-28 16:04:21 · 1933 阅读 · 0 评论 -
Lua与C交互之函数注册
概述前面讲了C与Lua交互的原理,其中讲到了Lua调用C的接口时,需要C将函数通过注册机制注册到当前lua_State的全局变量中,接下来通过一个实例具体介绍怎么注册并调用到C的函数接口。1 实现实际操作的C函数static int add(int a, int b){ return a+b;}static int sub(int a, int b){ return a - b;}...原创 2018-02-28 19:26:59 · 2638 阅读 · 0 评论 -
Lua中日期和时间函数详解
最近在做Lua脚本的时候,用到了Lua的日期和时间函数,发现其功能强大,学习一下!在Lua中,函数time和data提供了所有的日期和时间的功能,下面将这两个函数分开学习。time函数:如果不带任何参数调用time,它会返回一个数字,表示当前的日期和时间,改数字为某一时刻到此刻的秒数。如: local current_time = os.time(); -- 返回的结果可能是 15原创 2017-08-22 19:08:43 · 19867 阅读 · 0 评论 -
Lua笔记-关于lua table的C API
//Lua笔记-关于lua table的C API //转载请注明来自yuliying的CSDN博客. //Lua版本5.2 /*相关API: lua_createtable 原型: void lua_createtable (lua_State *L, int narr, int nrec); 描述: 创建一个新的table并将之放在栈顶.narr是该tab转载 2017-12-01 15:40:32 · 1584 阅读 · 0 评论 -
lua学习笔记(一) :第一个Lua程序及Lua中的关键字
概述: 由于公司需要做lua项目,需要本人学习lua语言。对于之前一直做qt我来说,零基础学习,所以记录这些学习中的笔记,以便以后复习和交流。lua介绍: Lua是一个小巧的脚本语言,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译、运行。Lua并没有提供强大的库,这是由它的定原创 2017-03-28 23:48:43 · 3456 阅读 · 0 评论