Lua5.0 第零篇

Lua5.0 版本从这里下载:

www.lua.org/ftp/lua-5.0.tar.gz

它的在线文档在这里:

http://www.lua.org/manual/5.0/

很好,终于进入版本五时代了。

打开下载下来的压缩包,好多的目录和文件。不管它们,把所有的源代码文件放到一起,编译一下。

一如既往的好编。

不过在 VS 中编编译器的时候有一个小插曲,就是 print.c 里的 luaP_opnames 找不到,有个链接错误。

原来是宏定义 LUA_OPNAMES 的问题,解决之,搜了一下,发现也就在编译器里使用它,直接把宏干掉。

反正也不影响其它的代码,简单粗暴,直接有效。

根据源代码的存放位置可以看出他们是干什么的:

比如

include 目录里的都是头文件,在把 Lua 以动态链接库的形式链接到程序中时引用这几个头文件就可以了。

src 目录里的都是源代码。其中 lib 里的是库, lua 里的是解释器,luac 里的为编译器。

etc 里有一些有用的小程序,目录中的 README 文件里有介绍。

到 5.0 版本了,越来越接近现在的工作版了,兴奋。

小小的开篇,开始看代码。

老规矩,想到哪写到哪,意识流。

希望 5.0 的代码阅读战线不要拉得太长。

时间: 2024-10-09 11:36:39

Lua5.0 第零篇的相关文章

Lua5.0 编译器入口

编译器相关的文主要是 luac.c . 看一下它的内容: int main(int argc, char* argv[]) {  lua_State* L;  Proto* f;  int i=doargs(argc,argv);  argc-=i; argv+=i;  if (argc<=0) usage("no input files given",NULL);  L=lua_open();  luaB_opentests(L);  for (i=0; i<argc; 

Centos6.5安装zabbix 3.0.4 环境篇

CentOS默认情况下提供了一个很老的版本的MySQL 5.1.我们需要MySQL5.6以上版本,需要删除旧版本. [[email protected] ~]# yum list installed | grep mysql mysql-libs.x86_64 [email protected] [[email protected] ~]# yum remove mysql* 配置MySQL源 [[email protected] ~]# rpm -ivh http://dev.mysql.co

Netty 3.7.0 Final 第一篇

netty简介: 做游戏的都知道,netty和mina是网络层通讯流行的两种socket框架.mina出现的早些,属于apache,netty目前更新比较稳定,5暂时还处于alpha版本,本系列netty前四篇主要是介绍目前比较用的多的3系列,后面会简要的说到netty4和mina. netty是网络通讯框架,为什么要使用netty?使用netty有什么好处?基于Java nio的编程的难度其实可以参考Reactor模型,多路复用这些,监听端口,建立线程,关闭连接等等,这些想着都觉得很复杂,而我

第零篇、HTML5简介

1.什么是HTML5? 背景:互联网的快速兴起 1>网页5.0版本 2>2014年才定制HTML5标准 3>移动先行 2.为什么要使用HTML5? 1>跨平台(可以运行所有的浏览器平台) 2>允许平台:浏览器 3>但是HTML5不能完成:如拍照 3.如何使用HTML5? 1>自己编写大量的HTML5代码 2>使用现成的第三方框架: Sench-touch phoneGap jQuery mobie bootstrap 4.手机APP的开发模式 1>原生

0.从零安装配置Android Studio并编写第一个Android App

0. 所需的安装文件 笔者做了几年WP,近来对Android有点兴趣,尝试一下Android开发,废话不多说,直接进入主题,先安装开发环境,笔者的系统环境为windows8.1&x64. 安装Android Studio需要如下准备2个文件: Android Studio:下载地址(https://dl.google.com/dl/android/studio/install/1.2.2.0/android-studio-bundle-141.1980579-windows.exe) jdk7:

Elasticsearch 2.2.0 JAVA开发篇:搜索操作

普通查询 Elasticsearch java API同时提供了强大的搜索功能,不过这也是很正常的因为所有的http接口到后面都要转换成java代码才可以执行.索引名和type名称都可以是多个,用逗号分开. SearchRequestBuilder  sbuilder = client.prepareSearch("secilog") //index name .setTypes( "type") //type name .setSearchType(SearchT

1.0从零到一个完全网站开发

1.1.背景 自己就是一个屌丝程序员,从事.net mvc开发参与过很多中小项目的开发,但是没有自己独立写过一个完整的网站,平时下班回家也没有多少事情做,工作也不像网上说的那样程序员就天天加班,我们基本上不加班,所以晚上按时回家吃了饭有空闲时间自己独立写一个完整的网站练手. 1.2.目的 写一个完整的网站,练习技术,提升能力,在今后工作中能得到更多的offer,大家懂的,就不多说了. 1.3.开发网站 科学减肥网:http://www.kxjf1.com 手机版:http://m.kxjf1.c

什么叫工业4.0,这篇接地气的文章终于讲懂了

笔者早年从事过工业自动化行业,后来去了几个城市,讲过<工业互联网与工业文明史>这门课,以至于很多人以为我很懂工业互联网(其实我也就是半桶水而已).今天早上有人问我,工业4.0到底是个啥,本来答应给他单独讲一遍,后来一想,不如整理下材料和思路,一块分享给大家,所以今天就跟大家谈谈这个神秘的工业4.0吧. 先声明,笔者只是个知识的搬运工,我说的不一定对,不过是看了很多材料后消化理解的结果而已.事实上,工业4.0就没有标准答案,连德国人自己都没有. 先看三个概念: 工业1.0 机械化,以蒸汽机为标志

Lua5.0 语法分析

写着写着,又来到了这里. 这次是写还是不写,嗯,这是一个问题. 先说点题外话,没准也算是题内. 经过这段时间的代码阅读,分析,调试,感觉自己的代码控制力提高了一些. 当然了,不单是 Lua 相关的,也有其它的工作中的代码阅读. 相比之下,还是工作中阅读的代码量要更大一些,更快一些. 究其原因,可能是工作中的代码阅读的目的性要更强一些吧. 打个比方,工作中的代码阅读是为了解决某个很具体的问题. 带着问题去阅读代码,针对性更强一些. 也比较容易把关注点集中在相关的代码上,这个过程中不自觉地就忽略了其