Lua2.4 准备工作

为什么要拿出来 Lua2.4 来看一下呢?
 
因为 Lua2.4 的时候增加了一个的外部编译器 luac,可以把 Lua 脚本编译成字节码。解释器可以直接执行编译好的字节码,加载速度得到了提升。这里主要是想看一下编译器是如何保存生成的字节码的,所以简单地把这个版本拿出来看一下。

Lua2.4 的代码的下载地址: www.lua.org/ftp/lua-2.4.tar.gz

代码下载下来后,在 mingw 里 make 了一下,很多错误。好久不写 makefile 了,还是省点事儿,不用 mingw 编译了,直接上 VS2010。开 VS2010,建工程,对于编译器 luac 和解释器 lua 分别建工程,很顺利的编译出 lua 和 luac。因为 Lua 是用 ANSI C 写的,所以在跨平台方面还是没问题的。
编译时又出现了 error C2099: initializer is not a constant 这个错误,修改方式和以前一样,如下:
---------------------------------------------------------
iolib.c 19行
static FILE *in=stdin, *out=stdout;
改为
static FILE *in=NULL, *out=NULL;

iolib_open 中给 in 和 out 赋值:
in=stdin; out=stdout;
---------------------------------------------------------
两个工程所用到的文件分别如下。
luac:src 目录里所有的,include 目录里所有的。
lua : src 目录里(除 luac 目录里的),include 目录里所有的,clients 目录里所有的。
建工程时建空的 win32 命令行程序,可以简单的建个代码目录,把上面说到的目录里的文件都拷贝过来。在工程里添加已存在文件,把代码目录里的所有文件添加就可以了。

在 Linux 里编译了一下,把之前的那个 iolib.c 里的错误修改之后,make 很顺利的过了。
果然,开源的世界里 Linux 才是标准平台。这也就是为什么你发现很多开源的软件在 Windowns 里没有或者不好用的原因,因为那软件一开始就是在 Linux 里开发出来的,只是后来发现用的人多了,才被移植到 Windows 里的,所以才有了各种不愉快。当然,这就是另一个问题了,这里就不讨论这个问题了。

时间: 2024-08-29 18:09:23

Lua2.4 准备工作的相关文章

Lua2.4 保存字节码 dump.c

严格意义上说,把 dump 这部分叫保存字节码并不准确.因为除了保存 TFunc 里的字节码 code 之外,还保存了其它的内容.比如函数头,字节序及字节码需要的数据等.所以,准确的说应该叫保存字节码及环境,或者叫做保存世界,就是字节码生成之后的运行时相关信息也保存了下来.可以从保存下来的这些信息恢复出字节码执行时需要的运行时,默认的保存文件就是之前所说的那个 luac.out 的二进制文件.咬文嚼字一下,dump 这里翻译为保存意思应该差不多,undump 则是它的相反操作,可以叫做恢复.du

Lua2.4 文档翻译

Lua2.4 文档翻译完了,这次的翻译感觉和 Lua1.1 的时候有点不一样. 这次也是在业余时间里断断续续的完成的,所以,进度也同样是比较慢. 这次的翻译内容明显比 Lua1.1 的时候多了很多,1.1 的时候手册是 19 页,这次的手册是 38 多页.不过,算一算,1.1 的时候是两个文档,加在一起的话就和 2.4 差不多了. 翻 译时是以 1.1 做为基础的,在翻译的过程中顺便发现 1.1 的不少的翻译错误之处.好的是基本上都是比较低级的错误,比如输入错误和句子明显的不通顺.就不在老版本上

Kinect 开发 —— 开发前的准备工作

Kinect SDK v1.5 支持托管语言和非托管语言 Xbox360的游戏是基于Xbox360开发工具包 (XDK)开发的,Xbox 360和Windows是两个完全不同的系统架构.使用Kinect for windows SDK 编译的代码并不能直接部署到Xbox环境中 Kinect 应用程序必须在一个原生操作系统环境下编译,运行 -- 无法在虚拟机上运行 Kinect 开发 —— 开发前的准备工作,布布扣,bubuko.com

VCSA 6.5 HA配置 之三 :准备工作

接着上一篇文章部署完成VCSA 6.5后,还需要做一些准备工作才能开启高可用功能,本篇文章主要就讲述如何为vCenter 高可用进行准备工作 配置vCenter HA网络 从vCenter HA的架构图中可以看出对于vCenter HA的高可用需要一个专用的HA网络 并且该网络必须与管理网络位于不同的子网.HA网络可以理解为群集中的心跳网络. 因为本存放VCSA的环境中采用的是VDS,所以专门创建一个用于vCenter HA的端口组.并且设置相应的VLAN(该VLAN和管理网络不同) 接下来将在

.net之微信企业号开发(一) 所使用的环境与工具以及准备工作

前言 一直以来,从事的是.net winform的编程,虽然对移动互联这块很感兴趣,但是由于现有的工作和移动互联之间隔的太远,也就没有时间和精力好好的去研究和实现.今年年初辞职了,刚好朋友那里希望建立一套新的网点销售管理系统,将原有的PC中的一些东西,移植到手机终端来.于是我接受了这个任务,除了给他们搭建新系统外,也慢慢的接触到了移动互联应用,开始了我的移动互联征程. 由于WEB应用本身的局限性,同时自身也不具备多个平台开发APP的精力和实力.我选择了微信的企业号开发.对于微信这样一个普及很广的

通过迁移的方式解决Active Directory服务器问题之1-迁移前的准备工作

前言 "重装是最好.最快的解决方法".在使用Windows操作系统一段时间之后,尤其是经常频繁打补丁.升级.添加删除软件后,系统会比较慢,有的可能会出现一些"莫名其妙"的问题,这个时候,果断备份.重装.恢复系统,是我们经常做的方法.但是,企业网络中的服务器,如果使用几年之后出问题,你能下定决心重装吗?如果重装,怎么重装才能不丢失数据.在重装过程中不影响使用.本文通过一个具体的案例,介绍通过迁移的方法彻底解决Active Directory服务器存在问题的方法. 正文

Skype for Business Server 2015系列(一)概述和准备工作

对于Lync,相信熟悉微软产品的小伙伴都比较了解了,作为微软旗下的即时通讯软件,面向企业用户,全球500强中的70%都在使用Lync.在今年4月份的时候,微软将 Lync 更名为 Skype for Business,作为 Office 2013 四月更新的一部分,正式开始推送.微软称Skype for Business将集合 Skype 和Lync的优势(如Skype界面熟悉感和Lync企业级功能)界面和图标更像Skype,提供了全新的客户端体验. 作为服务器端的Skype for Busin

微信接口开发之前准备工作

我是一名.net码农,最近项目需要用到微信接口开发,苦于微信官方没有.net示例,个人表示非常无解微信竟然这么无视.net的存在(让我哭会) .难道做为.net就不能开发好微信接口了吗?反问了一下,上网查了查资料,答案是否定的,也有许多大神提供很好的例子.在这里谢谢各位前辈的辛苦了(膜拜).在此,我也开始踏入了微信接口开发的工作中了,也想学习大神们的无私,特此在这里共享出我的点点滴滴,与码友一同成长. 先说说我的开发前准备吧! 1.申请注册一个公众平台(哈哈,这是必须的),如果你想要有更大更厉害

新手必看亚马逊店铺日记(一):准备工作

为了满足广大新手卖家的要求,站在零基础新卖家的立场上,我们很早之前整理了一个从选品开始运营的亚马逊店铺,然后不断记录,今天这篇文章是说说关于开店前的准备工作. 本文之后我也讲陆续跟新这一系列的文章,记录这个店铺的成长过程,特别声明,在本系列文章中,除了不方便透露的商业信息外,小编尽可能做到透明播报,也会在记录过程中把运营的关键点一一记录在案,不奢望能做的多大,只希望能给新卖家们一点启发和帮助. 简要的说明一下店铺的当前情况:运营半年左右,约销售额$2000.00,跟卖为主,主要以FBA形式发货,