zoukankan      html  css  js  c++  java
  • Lua1.0 编译准备

    转载出处:http://my.oschina.net/xhan/blog/305943

    从官网 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 也都可以以编译成功。

  • 相关阅读:
    Gamma阶段第三次scrum meeting
    【技术博客】Django+uginx+uwsgi框架的服务器部署
    Gamma阶段第二次scrum meeting
    Gamma阶段第一次scrum meeting
    团队项目贡献分
    Beta阶段发布说明
    Beta阶段测试报告
    【Beta阶段】第十次Scrum Meeting
    团队贡献分汇总
    [Gamma]Scrum Meeting#4
  • 原文地址:https://www.cnblogs.com/vd01/p/4931234.html
Copyright © 2011-2022 走看看