Lua1.1 公开发布的第一版

Lua1.1 是官方公开发布的第一版,是事实上的第一版 ,也是最早发布的一版。

代码从这里 www.lua.org/ftp/lua-1.1.tar.gz 下载,事实上在 www.lua.org/versions.html 页面,有所有的可以下下载到的版本。

代码下载下来之后,解压,可以看到这次多了不少目录(和 Lua1.0 的一个孤零零的目录相比)。

目录介绍:

clients, include, src 目录中是代码。

test 目录中是一些测试文件。

doc 目录中是文档。

编译:
看目录中有 Makefile 文件,make 一下试试,不行,各种奇怪的错误。好吧,我比较懒,就不深究原因了。开 VS2010, 把上面提到的几个代码目录中的文件全部拷贝到一起,建工程,把这些代码全部加入工程,编译,编译失败,
在 iolib.c 的 21 行报错:error C2099: initializer is not a constant    看看 iolib.c 的 21 行是什么
static FILE *in=stdin, *out=stdout;

这个代码错误好像很熟悉的样子,是的,Lua1.0 里就遇到过了。同样,这里做如下修改:

iolib.c
21 行
static FILE *in=stdin, *out=stdout;
改为
static FILE *in=NULL, *out=NULL;

472 行 iolib_open 中
添加 in=stdin; out=stdout;

再编译,很好,编译通过。看看 Debug 目录中有可执行文件生成。
写个 hello, world 试试
print ("hello, world")
可以正常执行,说明编译的很成功。

再试下 mingw 和 linux,把 Lua1.1 的所有代码拷贝到一个目录里面,就像 Lua1.0 那样,把 Lua1.0 的 Makefile 拷贝过来。修改下目标文件,由于 Lua1.1 的文件相比 Lua1.0 有变化,我们做相应修改。词法分析和语法分析文件改为 lex.o 和 y.tab.o,由于 Lua1.1 少了 floatingpoint.h 这个文件,我们把它加上(虽然它是个没有什么内容的空文件)。iolib.c 的修改方式上面已经说了。做完这几步之后,make 一下,无论是 mingw 的 gcc 或者是 linux 里都可以成功生成可执行文件。不错,环境的准备也算挺顺利的。

README 的主要内容包括,Lua 是什么,由谁开发,一些特点,如何安装,法律事务,如何联系作者。
Lua 是一个简单但是强大的应用程序扩展语言。
类 pascal 语法,变量不需要声明,有强大的数据描述结构,函数可接受多参数,函数可返回多个结果,代码被编译为字节码由虚拟机执行。
Lua 是由 ASNI C 写成的,是可移植的。

Lua1.1 的文档是 *.ps 格式的文件,在 Linux 里看着比较方便,在 Windows 里要安装阅读器,为了看两个文件,我安装了 Ghostscript 和 GSview ( http://www.ghostscript.com/ )。

时间: 2024-10-16 16:46:03

Lua1.1 公开发布的第一版的相关文章

香蕉派BPI-G1 原理图正式公开发布

香蕉派BPI-G1 原理图正式公开发布百度云盘下载http://pan.baidu.com/s/1jG8NX3K

7. 及时发布。除非真正的用户接触到你的产品并给予反馈

7. 及时发布.除非真正的用户接触到你的产品并给予反馈,你永远都不会知道你的产品是好是坏. 8. 尽快发布,经常发布.不要惦记着再增加一些其它功能.只要能达到可以用来收集用户反馈的最小功能集合,那就发布它.收集反馈信息,反复这个过程,发布下一 个版本.下一个版本,越快越好.如果你3个月才发布出第一版面向用户的产品,你拖延的太久了.如果3个星期才发布一次更新包,你拖延的太久了.如果不能一 周几次,那每周发布一次更新.每3周发布一次重大更新. 9. 唯一有意义的事是你的产品的好坏.其它的都是鸡毛蒜皮

Krita 3.0 发布,KOffice 的图像处理器(刺激一下自己的神经)

Krita 3.0 发布了,经历了一年多的开发,动画功能被集成到Krita核心,改善了绘画功能,可及时预览绘画结果,该版本也是最新移植到QT的版本. 查看完整发布说明,可以点击这里. 下载地址: Windows: krita-3.0-x64.zip (8d0b3819a94e2731bfa6265a573526bb65f0e568) krita-3.0-x86.zip (0cd0ebb41e17163e26928affc9bf4bfbe7b315c0) krita-3.0-x64-setup.e

【牛腩新闻发布系统】——总结

历时20来天的牛腩新闻发布系统终于长大了,本想一气呵成,再来一个华丽的总结.中途的一个毕业答辩,搁置了两三天,大大降低了小编的情趣,赶着进度来办事.不料再一次应了米老师的那就话:你要是想赶进度,永远都赶不上.知识是靠点点滴滴的积累. 成长记录一:界面的美观 从牛老师整个录制的视频,无不体现他的那种精益求精的精神,为了那1px 牛老师反复修改,换着浏览器来测试,只为这个网站更加的完美,兼容各个浏览器.返回来看自己的设计的页面,谈不上 perfect,也谈不上good,只能说just so so .

SuperSocket 2.0 发布第一个预览版, 另寻找Yang Fan哥哥

昨天,SuperSocket的作者发布了2.0版本的第一个预览版.SuperSocket 2.0 是一个经过全新设计的,第一个完全基于.NET Core的版本.作者正在积极尝试提供更简单易用的API的同时,尽量保证与老版本相似的原汁原味的开发体验.新的版本中亦删除了一些不太重要并且已有更好的替代实现的功能,例如服务器宿主. 时隔三年之后再次发布新的版本,意义重大.首先让我们来回顾一下SuperSocket的发展历程: 2008-2009: 起源于对公司Email服务器和FTP服务器开发的现状不满

使用metaweblog API实现通用博客发布 之 API测试

使用metaweblog API实现通用博客发布 之 API测试 使用博客比较少,一则是文笔有限,怕写出的东西狗屁不通,有碍观瞻, 二则是懒,很讨厌要登录到网站上写东西,也没有那么多时间(借口).个人最喜欢用于记录的工具是Zim https://zim-wiki.org/ ,记录东西超级方便,可惜只支持PC版本, 记录的东西可以到处为MarkDown 格式,非常方便(你现在看到的这篇就是用Zim写的). 无意间看到Vs Code上有博客园的插件,作为程序员,顺手google/百度了一下,原来通用

《The Evolution of Lua》读书笔记 1

lua的优点: 可移植性 容易嵌入 体积小 高效率 这些优点都来自于lua的设计目标:简洁.从Scheme获得了很多灵感,包括匿名函数,合理的语义域概念 lua前身: 巴西被禁运,引入计算机软件和硬件受限,巴西人有强烈的民族情绪去创造自己的软件.三名作者都是同一个实验室Tecgraf的,这个实验室与很多工业实体有合作关系.成立的头十年,重点是创造交互性的图形软件,帮助合作伙伴进行设计.巴西石油公司是其中一个重要伙伴.有大量的遗留数据需要处理.于是诞生了DEL,一个领域专用语言,主要用来描述数据流

友谊的小船说翻就翻,谁还在和VMware同一条船?

去年十月份Dell对EMC约670亿美元的收购仍然在业内被人频频谈起,不过本着先看后说的态度一直没有发表评论,现在这场世纪收购已经过去差不多半年了,业内也有了不少的新变化,是时候坐下来来聊聊一下这场变革对业内,特别是对VMware公司的影响. 股价,人事变动 我们还是先来看看股价吧,这是最直接判断一家公司是否健康成长的标志.下图就是过去的七个月中VMware公司股价的变化. Dell对EMC的收购对VMware绝对不是一个好事情,从股价上看,VMware的股价从收购前的超过80美元/股直线跳水到

[转] 各种Json解析工具比较 - json-lib/Jackson/Gson/FastJson

JSON技术的调研报告 一 .各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括commons-beanutils.jar,commons-collections-3.2.jar,commons-lang-2.6.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar,对于复杂类型的转换,json-lib对于json转换成bean还有缺陷,比如