,剩下 状态数据,如...
转载
2015-01-20 01:34:00
122阅读
2评论
讨论话题何为优雅的开发环境如何部署(本文讨论在MacOSX平台,其他平台也一样适用)优雅的Lua开发环境优雅的Lua开发环境至少包含以下几点:安装适合需求的最新稳定版Lua安装合适的Lua包管理器(推荐使用Luarocks,安装见另一文)源码安装(合理的组织安装目录,设置环境变量使Lua环境更易用且易于管理)版本选择首先我们要关注当前流行的各种Lua版本(5.1x,5.2x,5.3x),如何选择我
转载
2024-04-26 10:52:39
62阅读
在lua中,通常我们用luaL_openlibs(L)加载所有的lub标准库,但是有时候我们想只加载部分,有没有什么好的办法呢?在luaproc看到如下办法:static void registerlib( lua_State *L, const char *name, lua_CFunctio...
转载
2015-10-28 18:03:00
125阅读
C语言与Lua之间的相互调用详解1. 写一个C调用Lua的Demo编译运行2. C语言调用Lua编译问题总结2.1 正确的编译命令2.2 问题1:缺少-lm参数2.3 问题2:缺少-ldl参数1、为什么会出现undefined reference to ‘xxxxx’错误?2、-l参数和-L参数3 如何让Lua调用C?(其中3种方式)3.1 方式1:在C中注册函数给Lua3.2 方式2:调用C动
转载
2024-04-24 13:20:12
123阅读
Lua的特点概括:轻量级动态语言,解释型语言脚本语言,适合写游戏逻辑。脚本语言运行于虚拟机之上,虚拟机运行在游戏逻辑上。开源语言。官网:http://www.lua.org/download.html
Lua由C语言编写而成,像一个工具包,可扩展性强Lua概念介绍网站:Lua入门教程网:http://www.runoob.com/lua/lua-tutorial.html开始学习《Lua程序设计第
转载
2024-04-12 22:11:06
46阅读
目录一、Lua语言简介二、Lua架构图三、Lua源码结构很久很久没有写博客了,一直忙于工作和项目,最近依然想静下来阅读一些好的源码。自从读完了Nginx和Memcache的源码后,对服务器端的基础开源软件的实现原理有了一定的认识,接下来想看看Lua这门精巧的语言是如何实现的。一、Lua语言简介Lua是一门用C语言编写的脚本语言,一共1w多行代码,非常的轻巧,适合做web脚本、游戏脚本、物联网等场景
转载
2024-02-21 21:33:12
58阅读
目录一、Lua注册表 - 实现机制l_registry二、Lua注册表 - 初始化init_registry三、Lua注册表 - 设置值lua_setfield四、Lua注册表 - 获取值lua_getfieldLua通过实现全局的注册表,来管理全局变量、C API扩展库的加载等信息。注册表主要通过Table的数据结构进行管理,所以注册表是一个多维数组的结构。本章我们主要讲解Lua的注册表的整体操
转载
2024-03-28 21:46:41
153阅读
RDD和共享变量是Spark中的两个重要抽象。RDD弹性分布式数据集, 是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作(如map、join和group by)而创建,然而这些限制使得实现容错的开销很低。RDD的创建从文件系统中加载数据创建通过并行集合(数据)创建val array = Array(1,2,3
转载
2024-09-17 15:19:29
20阅读
lua_State 线程相关脚本上下文 主要包括当前脚本环境的运行状态信息,还会有gc相关的信息。 global_State 全局信息 // global_State 的主要字段 typedef struct global_State { stringtable strt; // hash tabl ...
转载
2021-08-16 12:09:00
642阅读
2评论
在JAVA中,用Thread类代表线程,所有线程对象,都必须是Thread类或者Thread类子类的实例。每个线程的任务就是执行一段顺序执行的代码,JAVA使用线程执行体来容纳这段代码。所以,我们创建线程时,主要是根据实际需求,编写放入线程执行体的代码。一、继承Thread类创建线程1、定义一个类继承Thread类,并重写Thread类的run()方法,run()方法的方法体就是线程要完成的任务,
转载
2024-07-13 09:25:34
78阅读
这次紧接着上次的,将gc类型的数据分析完毕。
谢谢[url=http://www.zhuzhaoyuan.com]老朱[/url]同学的指正,这里CClosure和LClosure理解有误.
先来看闭包:
可以看到闭包也是会有两种类型,这是因为在lua中,函数不过是一种特殊的闭包而已。
[color=red]更新:这里CClosure表示是c函数,
转载
2024-06-28 07:46:45
64阅读
AD:
对于Web高性能服务器上的选择,这个是很多人头痛的问题。对于Apache、lighttpd、Nginx都用他们优点,在什么情况下我们如何去选择适合自己的Web高性能服务器,如何去搭建一个适合自己的架构环境,这个是一个很麻烦的事情。接下来,在ADC 2012(Alibaba Developer Conference 2012)大会上,51CTO记者有幸采访到
转载
2024-05-16 09:58:30
57阅读
版本整理日期:2011/3/27对lmathlib.c文件中的函数进行跟调。函数是那个不重要,这里选取math_abs/*
lmathlib.c
取出一个TValue,转成整型,然后fabs处理。TValue可能是字符串,也可能就是数字。
luaL_checknumber的行为是必返回一个number值
lua_pushnumber的行为是把结果进行压栈处理,具体怎么处理还不知道
ret
转载
2024-04-09 15:05:15
45阅读
最近在进行监控平台的设计,之前一直觉得C/C++中最棘手的部分是内存的管理上,远不止new/delete、malloc/free这么简单。随着代码量的递增,程序结构复杂度的提高。各种内存方面的问题悄然滋生。而且作为平台,后期的插件扩展在所难免。长时间运行的采集平台的特性更是提出了对稳定性的高要求。不是c#、java,没有虚拟机为你管理内存,一切都要靠自己。于是想看看nginx、python、lua
性能测试的目标
1> 系统的性能瓶颈定位
操作系统、数据库、中间件服务器等的参数配置是应用系统发生性能问题的重要原因
2> 发现一些软件算法方面的缺陷
一些多线程、同步并发算法在单用户模式下测试是很难发现问题的,只有通过模拟多用户的并发操作,才能验证其运行是否正常与稳定。
3> 系统的验收测试
验证预期的性能指标
4>
首先最简单的理解,Tag可以作为一种分类体系,将不同的内容设置Tag进行分类,作为栏目的补充。很多时候我们在发布一篇文章是,不清楚属于那个栏目,比如一篇关于PC Game制作的文章,可能涉及平面设计、编程开发、剧本编写,又涉及用户体验、甚至涉及商业模式,也有可能涉及到一些经典游戏案例,或者一些游戏界的
lua lua_State 结构设计 数据结构 lua的内存结构最主要有三大块,lua_State、 CallInfo、 lua_TValue。 lua_State里面的 stack (栈)是主要的内存结构,类型是 lua_TValue; lua_TValue 主要是Value,是一个 uion,存 ...
转载
2021-08-19 19:54:00
298阅读
2评论
前言 上一篇,聊到逆向分析是找偏移,有依据地找,效率会快。这一篇聊下找偏移方法。只说概念,具体的细节,后续会配合实战再展开细说。 找偏移的方法1、内存 逆向的目的,是找功能或者数据在内存的地址。最直接的方法,就是在内存里面搜索。 对于数据:可以直接在内存搜索。 对于功能:如果知道代码的特征码,也可以直接在内存寻找。 (所谓代码的特征码,具体是一串字符串,在内存是唯一
编译原理的几个核心阶段:词法分析、语法分析和语义分析,其实编译的本质便是翻译,其各个阶段便是承担不同的翻译任务,词法分析阶段的任务是将程序输入的字符串流翻译成语言认可的字符流(剔除空格和注释等部分);语法分析便是将程序按照语言文法的规则构建成语法树;语义分析便是在语法树构建的基础上完成语言规则的语义动作(类型检查、作用域和可视性检查、一致性检查等)。现今的程序语言绝大多数都是图灵完备的,故而语法设
1. 栈定义简单的图2.栈元素TValue定义说明3.GC对象定义说明4.gc链表定义5.栈和gc链表的关系答疑解惑总结 这是这个gc系列的第二篇,这一篇主要讲GC用到的数据结构,有助于理解gc的,所以放在前面1. 栈栈就是我们平时写代码接到的lua_State。在实现上是用一个数组实现的。每个成员类型是TValue,看下文详细介绍。这里不打算详细介绍栈的结构和内容,只会介绍和gc相关的一些内容
转载
2024-04-17 10:22:32
84阅读