1,lua_State在Lua中的定义如下: struct lua_State {      CommonHeader;       lu_byte status;       StkId top;  /* first free slot in the stack */       global_State *l_G;         CallInfo *ci;  /* call info fo
转载 2014-05-27 15:51:00
143阅读
2评论
1,lua_State在Lua中的定义如下: struct lua_State { CommonHeader; lu_byte status; StkId top; /* first free slot in the ...
转载 2014-05-27 15:51:00
70阅读
1.红色警报——error我们应该能经常看到类似以下的错误信息:[LUA-print] LUA ERROR: [string “src/main.lua”]:108: [string “src/main.lua”]:89: attempt to index global ‘a’ (a nil value)这是在发生错误时给我们的提示,通常,这代表我们的代码不能继续正常执行下去了。&nb
转载 2024-05-24 13:12:22
227阅读
一、Lua脚本语言 1. 概述Lua是一种脚本编程语言,与一般脚本语言不同,被称为是嵌入式的脚本语言。Lua最著名的应用是在暴雪公司的网络游戏魔兽世界中。Lua语言可以独立进行编程,但这不是其主要的使用方式。Lua最典型的用法,是作为一个库,嵌入到其他大型语言(称为宿主语言)的应用程序之中,为应用程序提供参数配置或逻辑描述等功能,带来前所未有的灵活性。 Lua常见的宿主语言有:
转载 2024-03-14 18:03:27
86阅读
        从 Lua 的用户文档中我们知道 require("modName") 函数是用来加载模块的,而如果这个modName已经用require 加载过的,再调用require时,将直接返回模块的值。因为函数首先查找 package.loaded 表, 检测 modName 是否被加载过, 如果被加载过了,直
转载 2024-03-15 19:56:47
187阅读
(四)Lua标准库与文件 接上一篇 (三)Metatables和面向对象 10、Lua常用标准库        1)math库 2)string库 结果:         3) os库(clock, date, time ) 结果: 结果:      4)
转载 2024-06-10 18:47:56
149阅读
Linux下实现压力测试,只能在Linux下安装加压器---load-generator,然后通过本地录制脚本,通过loadrunner controller 的Scenario--》Load Generators  登录linux服务器,从而实现linux下的压力测试。安装步骤基本在网上都可以找到:安装前提条件:①必须为Linux的root用户;②根据平台选用适合的load gener
转载 2024-09-30 09:57:43
54阅读
Lua 中 metatable 是一个普通的 table,但其主要有以下几个功能: 1.定义算术操作符和关系操作符的行为 2.为 Lua 函数库提供支持 3.控制对 table 的访问 Metatables 定义操作符行为 Metatable 能够被用于定义算术操作符和关系操作符的行为。例如:Lua 尝试对两个 table 进行加操作时,它会按顺序检查这两个 table 中是否有一个存在 me
封装技术封装对于芯片来说是必须的,也是至关重要的。因为芯片必须与外界隔离,以防止空气中的杂质对芯片电路的腐蚀而造成电气性能下降。另一方面,封装后的芯片也更便于安装和运输,由于封装技术的好坏还直接影响到芯片自身性能的发挥和与之连接的PCB(印制电路板)的设计和制造,因此它是至关重要的。1、BGA 封装 (ball grid array)球形触点陈列,表面贴装型封装之一。在印刷基板的背面按陈
<functional>是C++标准库中的一个头文件,定义了C++标准中多个用于表示函数对象(function object)的类模板,包括算法操作、比较操作、逻辑操作;以及用于绑定函数对象的实参值的绑定器(binder)。这些类模板的实例是具有函数调用运算符(function call operator)的C++类,这些类的实例可以如同函数一样调用。不必写新的函数对象,而仅是组合预定
1. c代码中通过lua_push 把数据压入堆栈,lua调用c函数得到数据。luaL_check是对lua_to的封装,从堆栈中获取lua代码中函数调用的数据。 2.stack lua_pushnumber( L, 211 );lua_pushnumber( L, 2222 );lua_newta
转载 2017-06-12 09:07:00
151阅读
2评论
Buuctf 逆向wpeasyre下载附件,打开ida,shift+f12得到flagreverse1下载附件,打开ida,shift+f12,有一个可疑字符串点进去跟进,f5查看代码int sub_1400118C0(){ char *v0; // rdi@1 signed __int64 i; // rcx@1 size_t v2; // rax@5 size_t v3; // rax
LwIP终于能跑了,总结下: 平台是LPC2136+ENC28J60,32K的RAM,软件是uCOS-II 2.51+LwIP 1.1.1。 感觉主要解决两个问题: 操作系统仿真层的移植。这个基于uCOS-II的代码太多了。COPY下就行! 1,设备驱动的移植.驱动的移植主要就是完成ethernetif.c的工作。作者已经给好了驱动的接口。 st
转载 2024-08-01 15:23:46
71阅读
Lua 中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1 的内嵌,而f1的外包也一定是f2的外包。内嵌函数可以访问
 左值和右值这两个术语在c/c++编程中经常出现,但每当你运行程序是,你对他们并不是很了解,只有在编译器报错的时候我们才回去深究这些东西。 先看看两个例子:int foo() { return 2; } int main() { foo() = 2; return 0; }编译器报错:In function 'int main()':[Error]
转载 2024-04-21 18:56:37
155阅读
背景知识 Lua 给我的感觉是:各种内置函数和标准库的存在感都是比较强的。如果执行这句:for name in pairs(_G) do print(_G) end 就会把各种环境中已存在名称的打印出来:全局变量:比如字符串 _VERSION。内置函数:比如 print、tonumber、dofile模块名称:比如 string、io、coroutine_G&nbs
转载 2024-06-22 15:33:44
123阅读
接下来,就可以注册c函数给lua使用了。本游戏中把不同种类的函数集合成各种各样的模块,就类似于lua中的math模块io模块。目前的模块如下:1.base模块,注册了一些常用的基础函数。2.movement模块,移动函数,场景切换函数等。3.screen模块,场景相关函数,如淡入淡出函数,调出背包函数等。4.timer模块,延迟函数。void register_funcs(lua_State* p
  1.联合体union的基本特性——和struct的同与不同union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。 不过区别也挺明显: 结构体(struct)中所有变量是“共存”的——优点是“有容乃大”,全面;缺点是struct内存空间的分配是粗放的,不管用不用,全
转载 2024-09-08 12:09:26
144阅读
【问题背景】前几天,我们上线了“基于’Nginx + Lua‘实现的统一权限校验功能”。该功能需要Nginx守护线程定期地从MySQL加载“合作方数据”,我们直接在Lua文件里写死了MySQL等配置信息(硬编码),然后通过一个“中间配置文件”手动修改来针对不同的部署环境选择不同的数据源。这里有个坑:当开发和运维都忘记修改这个“中间配置文件”时,部署到不同的环境指向的数据源确一样的,会导致验证失败错
转载 2024-05-23 14:18:14
252阅读
文件系统:   文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备的类图(Qt5):    QIODevice:所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;    QFileDevice:Qt5新增加的类,提供了有关文件操作的
  • 1
  • 2
  • 3
  • 4
  • 5