python反编译luac_Lua学习---编译生成lua和luac

本文介绍了为何学习Lua语言,并详细阐述了如何在Linux环境下编译安装Lua5.3,包括从下载到执行`make c89 && make install`的过程。后续内容将探讨从C语言角度深入理解Lua的实现。此外,文章还提及了建立Lua学习框架和一系列关于Lua基础操作的学习笔记,如迭代器、数组、字符串、运算符、函数、流程控制、循环和类的实现。
摘要由CSDN通过智能技术生成

众所周知,Lua是一种强大的脚本语言,并且这种语言是用C语言实现的。为什么要学习这门语言?因为它可以增强我看C语言代码的功底。

我下的Lua版本是Lua5.3,关于Lua5.3的简介如下:

http://www.runoob.com/manual/lua53doc/

Lua语言源码发布网站如下:http://www.lua.org/ftp/

下好了,该怎么编译?打开Makefile,于是看到关键的一行:

PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris

常用的环境是c89,于是在我当前的Linux环境下执行make  c89   && make install就可以了,最后会看到如下信息表示环境已经配置好了。

cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.3 /usr/local/lib/lua/5.3

cd src && install -p -m 0755 lua luac /usr/local/bin

cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp /usr/local/include

cd src && install -p -m 0644 liblua.a /usr/local/lib

cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1

等学习完lua的基本操作后,后面开始从C的角度上分析Lua语言的实现。

Lua学习2 Lua小框架的搭建

看了上一篇Lua环境搭建具体http://blog.csdn.net/liuwumiyuhuiping/article/details/9196435 为了方便学习. 具体新开始搭建一下学习的小框架. ...

lua学习:lua中“类”的实现

在之前的面试遇到考用lua实现类的题目.现在就补补这块知识点. 我们都知道Lua中的table是一个对象.拥有状态,拥有self,拥有独立于创建者和创建地的生命周期. 一个类就是一个创建对象的模具.L ...

Lua学习十一----------Lua迭代器

© 版权声明:本文为博主原创文章,转载请注明出处 Lua迭代器 - 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址 - Lu ...

Lua学习十----------Lua数组

© 版权声明:本文为博主原创文章,转载请注明出处 1.LUA数组 - 一维数组 - 多维数组 2.array.lua -- 一维数组 print("一维数组") array1 = ...

Lua学习九----------Lua字符串

© 版权声明:本文为博主原创文章,转载请注明出处 1.Lua字符串 - ''单引号间的一串字符 - ""双引号之间的一串字符 - [[]]之间的一串字符 2.Lua转义字符 3.字 ...

Lua学习八----------Lua运算符

© 版权声明:本文为博主原创文章,转载请注明出处 1.Lua运算符: - 算术运算符:+(加法).-(减法).*(乘法)./(除法-取整).%(除法-取余).^(乘幂).-(负号) - 关系运算符:= ...

Lua学习七----------Lua函数

© 版权声明:本文为博主原创文章,转载请注明出处 1.Lua函数 - 完成指定的任务,这种情况下函数作为调用语句使用 - 计算并返回值,这种情况下函数作为赋值语句的表达式使用 - Lua函数可以返回多 ...

Lua学习六----------Lua流程控制

© 版权声明:本文为博主原创文章,转载请注明出处 Lua流程控制 - 通过程序设定一个或多个条件语句 - 在条件为true时执行指定程序代码,在条件为false时指定其他指定程序代码 - 控制结构语句 ...

Lua学习五----------Lua循环

© 版权声明:本文为博主原创文章,转载请注明出处 1.循环类型 1.1 while循环 - 语法:while(condition) do ... end - 解析:判断cond ...

随机推荐

SQL的自增列如何重置

第一种方法:首先去除该列自增的标识,然后再修改id的值,成功修改后,再加上自增标识:如果不修改自增标识,会报错:“无法更新标识列”. 第二种方法:删除该自增列,而后重建一个自增列.

uva1639 Candy

组合数,对数. 这道题要用到20w的组合数,如果直接相乘的话,会丢失很多精度,所以用去对数的方式实现. 注意指数,因为取完一次后,还要再取一次才能发现取完,所以是(n+1)次方. double 会爆掉 ...

实例介绍Cocos2d-x中Box2D物理引擎:碰撞检测

在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact ...

IE9下Coolite.Ext出现createContextualFragment错误

解决Ext在IE9上报错“createContextualFragment”,只需要在使用Coolite.Ext页面加入如下代码即可: if ((typeof Range !== "unde ...

You must supply a layout_width attribute的错误原因及解决办法

学习android的过程中,尝试新功能,结果出现了这个一个error: 05-21 15:38:52.745: E/AndroidRuntime(17608): java.lang.RuntimeEx ...

linux笔记2.21

命令dmesg显示本次内核启动信息 init是系统运行的第一个进程 Linux运行级别: 0   关机 1   单用户模式 2   不带网络的多用户模式 3   命令行多用户模式  4   未使用 5 ...

读书笔记:js设计模式

面向过程编程,面向对象编程和函数式编程> 定义一个类方法1:function Anim(){ } Anim.prototype.start = function(){ .. };Anim.pro ...

C# MVC 自学笔记—4 添加视图

==============================翻译============================== 在本节中,你将要修改 HelloWorldController 类,以便使 ...

10 - JavaSE之网络编程

网络编程 网络通信协议分层思想 为什么要分层呢?因为整个网络协议非常复杂,要涉及到方方面面的知识,而且还有对底层硬件的操作,利用分层的思想,我们可以将复杂的通信协议分割成一层层的形式,上一层可以调用下 ...

greenplum加密

--如下为greenplum5.0数据库加解密--加密函数select encrypt('123456','aa','aes');--加解密函数select convert_from(decrypt( ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值