lua5.1的一个坑
原创
2018-10-14 18:05:24
3531阅读
setenv是在lua5.1中有的改变函数作用域的函数。 用法是setenv(func or number,tbl),第一个参数可以是数字也可以是函数,数字1表示当前的作用域,2表示上一层的作用域,特殊情况0,setfenv changes the environment of the runnin
转载
2014-09-15 07:14:00
231阅读
2评论
Lua5.1中的API函数 lua_State* luaL_newstate() Lua脚本的编译执行是相互独立的,在不同的线程上执行。通过luaL_newstate()函数可以申请一个虚拟机,返回指针类型 lua_State。今后其他所有Lua Api函数的...
转载
2012-12-27 09:59:00
122阅读
2评论
白色:待回收的对象 灰色:待遍历的对象 黑色:不回收的对象 主要流程: 1、从根集开始遍历 2、遍历到的白对象标灰入栈,遍历到灰色、黑色对象则跳过。 3、每次从栈中pop一个灰色对象标黑,并遍历它引用的对象(处理方式参考2) 4、直到栈为空,一次性将白色对象清理出内存。 流程特点: 第2、3步是可以
转载
2020-03-09 21:20:00
372阅读
2评论
一、打开vs2010二、创建项目新建项目->win32控制台应用程序->下一步->应用程序设置中选择静态库,不勾选预编译头->完毕。详细例如以下图:三、拷贝源代码将lua源代码中的*.h文件复制到项目的头文件目录下,将lua源代码中的*.c文件复制到项目的源文
转载
2019-04-18 16:21:00
206阅读
2评论
文章目录一、位运算概述二、位运算及其用途1. 按位与运算符(&)2.按位或运算符(|)3.异或运算符(^)4.取反运算符 (~)5.左移运算符(<<)6.右移运算符(>>)7.复合赋值运算符三、位运算相关的算法题解例1:判断一个正整数 n 是否为 2 的幂次方例2:判断 正整数 n 的二进制表示中有多少个 1例3:找出一个只出现一次的数例4.找出两个只出现一次的数
二进制位运算符概述二进制位运算符用于直接对二进制位进行计算,一共有7个。二进制或运算符(or):符号为|,表示若两个二进制位都为0,则结果为0,否则为1。二进制与运算符(and):符号为&,表示若两个二进制位都为1,则结果为1,否则为0。二进制否运算符(not):符号为~,表示对一个二进制位取反。异或运算符(xor):符号为^,表示若两个二进制位不相同,则结果为1,否则为0。左移运算符(l
转载
2024-03-24 10:05:13
445阅读
理解Lua栈Lua通过一个“虚拟栈”与C/C++程序进行数据交互,所有的Lua C API都是通过操作这个栈来完成相应的数据通信。Lua的这个“虚拟栈”解决了C/C++程序与Lua程序通信的两大问题:Lua使用垃圾回收,而C/C++需要手动管理内存。Lua使用动态类型,而C/C++使用的是静态类型。因 为这个栈在Lua虚拟机内部,当一个Lua的变量放在栈里面的时候,虚拟机可以知道它有没有被宿主程序
转载
2024-08-03 15:30:09
364阅读
Lua 和 C 交互中虚拟栈的操作 /* int lua_pcall(lua_State *L, int nargs, int nresults, int msgh)
* 以保护模式调用具有"nargs"个参数,"nresults"个返回值得函数。函数在第一个参数的前一个位置。
* 保护模式指的是当调用出错时不会报错,而是返回一个错误码同时将错误信息入栈。
* 当调用成功时,函
基础: lua与C语言使用“栈”交互数据,“栈”是一种先进后出的机制,“压栈”就是将一个元素放到栈顶,lua_push* 函数就是将不同类型压入到栈中。圧栈的第一个元素编号为1,第二个元素编号为2,以此类推到N,当然也可以使用负数表示,-1表示栈顶(最上面的元素,也是倒数第一个元素),-2表示倒数第二个元素,以此类推到-N。lua调用c函数时(如上例的mylua.add(20, 30)),栈的功能
转载
2024-10-28 18:50:45
39阅读
前言 C语言提供常见的运算符有算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。这些运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。下面主要以按位运算符为例。按位逻辑运算符 4个按位逻辑运算符都用于整形数据,包括char。之所以叫作按位运算符,是因为这些操作都是针对每一个位进行,不影响在左右两边的位。不要把这些运算符与常规运算符(&&、||和!)混淆,常规操作运算符
做题目前首先需要掌握的知识:~ 取反运算符,如果运算位为1取反后则变为0,如果运算为为0取反后则为1& 与运算符,当运算的两个数同时为1时,
编译静态库步骤:1. 从上面的地址下载得到lua-5.1.tar.gz文件,解压得到lua-5.1文件夹2.打开VS2013, 打开“文件” -> “新建” -> “项目” -> 左侧选择“Visual
原创
2022-12-14 11:07:35
206阅读
位运算符包括:| 按位或 OR,& 按位与 AND,^ 按位异或 XOR,~ 取反 NOT,<< 左移 Left Shift,>> 右移 Right Shift,等等。本篇体验位运算符在C#中的应用。主要包括: ○ 进制转换 ※ 十进制转换成二进制 ※ 二进制转换成十进制○ | 按位或
string可以由双引号"xx" 或者单引号表示'xx'。#对象,就可以获得对象的长度。在lua中,一个汉字占三个长度,英文字符占一个长度。在lua中也是支持转义字符,且可以多行打印。print("***********字符串*********")
str = "双引号字符串"
str2 ='单引号字符串'
--获取字符串的长度
print("*********字符串长度**********")
在lua中,字符串的第一个字符的索引是1,也可以使用负数索引,这样将从字符串的尾部开始计数,索引-1代表字符串最后一个字符。
%a+ (alphabet)字母 +表示匹配一个或者多个
%c 控制字符
%d 数字
%l 小写字母
%p 标点字符
%s 空白字符
%u 大写字母
%w 字母
转载
2024-08-30 13:21:46
68阅读
二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。每个数字称为一个比特(Bit,Binary digit的缩写) 数的二进制表示及按位操作 二进制数值表示,举例:76543210
转载
2024-03-15 15:38:20
48阅读
运算符是告诉解释器执行特定数学或逻辑操作的符号。 Lua语言内置运算符丰富,并提供以下类型的运算符 -算术运算符关系运算符逻辑运算符其它运算符本教程将逐一解释算术,关系,逻辑和其他杂项运算符。1. 算术运算符下表显示了Lua语言支持的所有算术运算符。 假设变量A=10,变量B=20,然后 -运算符描述示例+相加两个操作数A + B = 30-从第一个减去第二个操作数A - B = -10*将两个操
转载
2024-03-18 07:08:51
83阅读
openresty开发系列15--lua基础语法4表table和运算符lua中的表table一)table (表)Table 类型实现了一种抽象的"关联数组"。即可用作数组,也可以用作map。lua中没有数组和map,都是用table这个类型--数组
java int[] intArr = new int[]{1,2,3,4,5,6};
intArr[0]
intArr[1]
--map---
转载
2024-08-24 11:54:05
22阅读
UUID是什么 ?UUID 是指Universally Unique Identifier,翻译为中文是通用唯一识别码,UUID 的目的是让分布式系统中的所有元素都能有唯一的识别信息。如此一来,每个人都可以创建不与其它人冲突的 UUID,就不需考虑数据库创建时的名称重复问题。定义UUID 是由一组32位数的16进制数字所构成,是故 UUID 理论上的总数为1632=2128,约等于3.4 x 1
转载
2024-04-29 21:15:40
61阅读