- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 mac vim处理dos换行符^M
今天用macvim打开同事写的一个文件,代码变成只有一行了,在原来的换行后面多了^M。查到这个是因为dos换行符在我这边不支持,于是替换^M为mac这边的换行符,在vim编辑模式下输入::%s/^M/\r ;^M由ctrl+V+M获得这样会替换掉所有的^M为换行,再保存文件就ok
2014-12-31 13:10:32 4710
转载 Lua数据结构 — lua_State(六)
作者:罗日健前面各种Lua的数据类型基本都说得差不多了,剩下最后一个数据类型:lua_State,我们可以认为是”脚本上下文”,主要是包括当前脚本环境的运行状态信息,还会有gc相关的信息。Lua这门语言考虑了多线程的情况,在脚本空间中能够开多个线程相关脚本上下文,而大家会共用一个全局脚本状态数据,如下:全局数据global_state的数据结构如下:
2014-12-30 19:44:18 3545
转载 Lua数据结构 — Udata(五)
作者:罗日健Udata负责存储userdata的数据,这部分其实很简单,但是为了保证系列文章的完整性,还是写一篇出来补全。下面是Udata的数据结构:意义:CommonHeader:和与TValue中的GCHeader能对应起来的部分metatable:userdata的元表,和table的元表一样的env:创建userdata时,会把当前执行语句的
2014-12-30 19:37:25 1045
转载 Lua数据结构 — 闭包(四)
作者:罗日健前面几篇文章已经说明了Lua里面很常用的几个数据结构,这次要分享的也是常用的数据结构之一 – 函数的结构。函数在Lua里也是一种变量,但是它却很特殊,能存储执行语句和被执行,本章主要描述Lua是怎么实现这种函数的。在脚本世界里,相信闭包这个词大家也不陌生,闭包是由函数与其相关引用环境组成的实体。可能有点抽象,下面详细说明:一、 闭包的组成闭包主要
2014-12-27 21:59:19 1225 1
转载 Lua数据结构 — Table(三)
作者: 罗日健前面(一)、(二)里面其实已经把一些常用的数据类型(数值、布尔、字符串)说明了,这次要描述的是Table,Table在Lua里是一种常用的数据类型,是Lua里的精髓之一,其效率必须得到保证,而实现这种支持任意类型key和value的Table也是较为复杂的。一, Table的设计思想:1, 首先,讲一下Lua要设计的Table是怎么样子的:Lua就
2014-12-27 21:26:22 984
转载 Lua数据结构 — TString(二)
作者:罗日健存储lua里面的字符串的TString数据结构:(lobject.h 196-207)其它结构中也会有L_Umaxalign dummy这个东西,来看看L_Umaxaliagn:从字面意思上就是保证内存能与最大长度的类型进行对齐,事实上也是做这件事,这里感觉lua想给各种不同设备做一种嵌入式脚本,这里要保证与最大的长度对齐能保证CPU运行高效
2014-12-27 21:08:58 1034 1
转载 Lua数据结构 — TValue(一)
作者:罗日健数据结构的设计,在一定程度上奠定了整个系统的设计,所以决定写一个对Lua主要数据结构的分析文章,本来打算写一篇就好了,但是每个数据类型其实都有点复杂,一篇的话篇幅太长,所以就拆开几篇来写了。为什么是从TValue说起,TValue是实现Lua弱数据类型的主要数据结构,不但在脚本中的值使用了TValue,连Lua的实现中,很多数据结构也依赖于TValue,TValue
2014-12-27 20:55:57 3039
Lua程序设计 第3版 英文版 programming in lua 3ed
2014-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人