文档章节

Lua1.0 编译准备

晓寒
 晓寒
发布于 2014/08/23 23:38
字数 283
阅读 304
收藏 0

从官网 www.lua.org/ftp/lua-1.0.tar.gz 下代码。
如何编译,ReadMe 里有这样的说明:

The code compiles and runs in RedHat 5.2 with gcc 2.7.2.3. It may not run in
newer systems, because it assumes that stdin and stdout are constants, though
ANSI C does not promise they are. If make fails, try using the fixed modules
provided in the "fixed" directory. To see the differences (which are really
quite minor), do "make diff".

注意最后一句,也就是把 fixed 目录中的三个文件拷贝到外面覆盖就好了。
fixed 目录中的代码改动如下:
------------------------------
lua.c:
33 行
void main (int argc, char *argv[])
改为
int main (int argc, char *argv[])

52 行
添加 return 0;
------------------------------
iolib.c
20 行
static FILE *in=stdin, *out=stdout;
改为
static FILE *in=NULL, *out=NULL;

395行
添加  in=stdin; out=stdout;

------------------------------
lex_yy.c
20 行
FILE *yyin = {stdin}, *yyout = {stdout};
改为
FILE *yyin = {NULL}, *yyout = {NULL};

为什么这样改,ReadMe 里有说明“It may not run in
newer systems, because it assumes that stdin and stdout are constants, though
ANSI C does not promise they are. ”

这里使用 VS2010 进行分析,建工程,把所有的源文件加入工程,编译,运行。
准备工作完成。
后来试了一下,在 Win7 里用 MinGW,在 Linux 里 gcc 也都可以以编译成功。

© 著作权归作者所有

晓寒
粉丝 35
博文 119
码字总数 133745
作品 0
海淀
私信 提问
Lua1.1 公开发布的第一版

Lua1.1 是官方公开发布的第一版,是事实上的第一版 ,也是最早发布的一版。 代码从这里 www.lua.org/ftp/lua-1.1.tar.gz 下载,事实上在 www.lua.org/versions.html 页面,有所有的可以下下载...

晓寒
2014/09/02
333
1
关于lua1.0源码里面yacc的问题

最近在研究lua1.0的c语言源码,发现源码文件中只有lex.yy.c文件, 并没有编译之前的.l文件。如果我想获得.l文件中的内容, 我要怎么做? 可以反编译么 或者说通过lex.yy.c能查找出来原来.l文件...

和平老三
2016/11/28
79
0
Lua1.0 代码分析 opcode.c

opcode.c 代码分析 Lua1.0 虚拟机的实现,语法分析中生成的字节码交给它 luaexecute 来执行。 这个文件的主要部分就是 luaexecute 函数,而它就是很大的 switch case,Lua1.0 中定义的字节码...

晓寒
2014/08/31
472
0
Lua1.0 代码分析 inout.c

inout.c 代码分析 主要看下对于文件的处理 /*** Function to open a file to be input unit.** Return 0 on success or 1 on error.*/int lua_openfile (char *fn){ lua_linenumber = 1; lu......

晓寒
2014/08/28
198
0
Lua1.0 代码分析 hash.c

hash.c 代码分析 Lua 中最重要的一个数据结构及相关操作。 主要看下几个对外的接口。 /*** Create a new hash. Return the hash pointer or NULL on error.*/Hash *lua_hashcreate (unsigne...

晓寒
2014/08/30
693
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
10
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部