讨论话题何为优雅的开发环境如何部署(本文讨论在MacOSX平台,其他平台也一样适用)优雅的Lua开发环境优雅的Lua开发环境至少包含以下几点:安装适合需求的最新稳定版Lua安装合适的Lua包管理器(推荐使用Luarocks,安装见另一文)源码安装(合理的组织安装目录,设置环境变量使Lua环境更易用且易于管理)版本选择首先我们要关注当前流行的各种Lua版本(5.1x,5.2x,5.3x),如何选择我
lua_State 线程相关脚本上下文 主要包括当前脚本环境的运行状态信息,还会有gc相关的信息。 global_State 全局信息 // global_State 的主要字段 typedef struct global_State { stringtable strt; // hash tabl ...
转载 2021-08-16 12:09:00
642阅读
2评论
RDD和共享变量是Spark中的两个重要抽象。RDD弹性分布式数据集, 是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作(如map、join和group by)而创建,然而这些限制使得实现容错的开销很低。RDD的创建从文件系统中加载数据创建通过并行集合(数据)创建val array = Array(1,2,3
,剩下 状态数据,如...
转载 2015-01-20 01:34:00
122阅读
2评论
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评论
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阅读
在JAVA中,用Thread类代表线程,所有线程对象,都必须是Thread类或者Thread类子类的实例。每个线程的任务就是执行一段顺序执行的代码,JAVA使用线程执行体来容纳这段代码。所以,我们创建线程时,主要是根据实际需求,编写放入线程执行体的代码。一、继承Thread类创建线程1、定义一个类继承Thread类,并重写Thread类的run()方法,run()方法的方法体就是线程要完成的任务,
转载 2024-07-13 09:25:34
78阅读
1,lua_StateLua中的定义如下: 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_StateLua中的定义如下: struct lua_State { CommonHeader; lu_byte status; StkId top; /* first free slot in the ...
转载 2014-05-27 15:51:00
70阅读
lua中,通常我们用luaL_openlibs(L)加载所有的lub标准库,但是有时候我们想只加载部分,有没有什么好的办法呢?在luaproc看到如下办法:static void registerlib( lua_State *L, const char *name, lua_CFunctio...
转载 2015-10-28 18:03:00
125阅读
lua 语言非常灵活,一般把lua 作为脚本文件,会用C++与之进行交互。最重要的是C++代码能读取到脚本中的变量、一维表、二维表。这样有些参数就可以在lua文件进行更改,而不用重新更改C++代码、又得重新编译、运行。lua 文件 (test.lua )中的内容如下-- ship include name width height yValue = 60 myStr = "guoyilonge
转载 2024-03-19 17:37:55
52阅读
Linux系统是目前使用最广泛的一种操作系统之一,其内核是Linux内核。Linux内核是一个多线程的操作系统,可以同时运行多个线程来提高系统的效率。在Linux系统中,通过命令行可以查看线程的状态及相关信息,这对于系统管理员来说是非常重要的。 一个线程在Linux系统中有不同的状态,其中包括运行(R)、等待(S)、睡眠(D)、僵尸(Z)等。运行状态表示线程正在执行中,等待状态表示线程正在等待某
原创 2024-05-30 10:00:38
52阅读
关于内存泄露: 客户的一台AP server,内存使用量一直很大,swap使用量从三月份开始在慢慢增多。怀疑与内存泄露有关,查找了一些资料,发现对于linux真个系统的内存泄露检测工具很少。有如下几个,但是都只针对单个程序。如果测试真个内存的情况,特别是历史记录,不知道还有没有好的工具。 Valgrind 用C/C++开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内
转载 9月前
14阅读
#c 引入 我们在开发C++时,常常需要与内存打交道。调试时,查看内存的变量就成了一个很重要的需求。在vs中查看非常方便,但在vscode中并不能直接查看。虽然vscode可以监听到变量,但看不到内存里的格式。可以通过Hex Editor这个插件,来查看内存。1.安装插件![在这里插入图片描述2.Hex Editor使用上一个例程:#include <iostream> #includ
转载 9月前
70阅读
这两天剖析了一下socket.lua,整体不是很难,主要是数据缓冲区的实现需要好好分析一下。这里读写数据也是用到了缓冲池的思想,为了更加直观的说明代码,还有方便测试,我去掉lua代码,把核心接口直接用C++实现了一遍:#include <stdio.h> #include <string.h> #include <vector> using std::vecto
转载 2024-02-27 14:59:34
183阅读
 最近在做K线的项目中,需要计算商品的分时数据。为了保证多台机器对同一商品的计算的有序性,所以在Redis中进行计算,同时为了保证在分时数据计算过程的原子性所以使用了LUA脚本,Redis内置了对LUA脚本的支持,并且在计算过程中保证了脚本中执行的原子性。因此在开发过程中对Redis对Lua的支持进行了学习。从 Redis 2.6.0 版本开始,通过内置的 Lua 解释器,可以使用EVAL命令对
转载 2023-12-03 12:06:00
109阅读
以下是4个影响归档路径的参数 LOG_ARCHIVE_DEST:指定归档文件存放的路径,该路径 只能使用本地磁盘 ,并且只能为mandatory主归档。默认为' ' LOG_ARCHIVE_DUPLEX_DEST:指定归档文件存放的路径,该路径 只能使用本地磁盘 ,并且只能为optional从归档。默认为' ' LOG_ARCHIVE_DEST_n:指定归档存放路径,11G中可以
转载 2024-05-24 16:16:44
89阅读
一、常用命令1、zadd zset [NX|XX] [CH] [INCR] score member [score member]NN:表示只添加,不更新 XX:表示只更新,不添加 CH:表示修改返回值,改操作返回添加元素和修改元素的个数。如果命令中有CH,则分数相等的值不会被记录到返回的个数中 INCR:有这个选项时,只能对一个指定的成员的分数进行增加,而不是覆盖,返回成员的分数说明:向一
转载 2023-08-15 09:40:39
129阅读
1、State概念理解在Flink中,按照基本类型,对State做了以下两类的划分:Keyed State, Operator State。Keyed State:和Key有关的状态类型,它只能被基于KeyedStream之上的操作,方法所使用。我们可以从逻辑上理解这种状态是一个并行度操作实例和一种Key的对应, <parallel-operator-instance, key&g
转载 2023-11-29 06:36:13
120阅读
Lua内存是自动收集的, 这点跟Java类似, 不被任何对象或全局变量引用的数据,将被首先标记为回收,不需要开发者做任何事情.但是,正如Java也会有内存泄露一样, Lua也会有, 只不过,跟C++的不同,它是由于代码执行所装载的资源,并没有被彻底销毁而导致,其中,最臭名昭著的就是不小心把局部变量声明成了全局变量(忘了加local修饰符)。 类似这样造成的
转载 2024-03-24 15:11:44
253阅读
  • 1
  • 2
  • 3
  • 4
  • 5