Lua是一个小巧高效的解释型脚本语言,可以方便的嵌入到任意的语言中,很多应用程序、游戏使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括魔兽世界、博德之门、愤怒的小鸟、VOCALOID3、太阳神三国杀等。

下载和编译

下载连接:http://www.lua.org/download.html,点击Download按钮下载lua的源代码。

解压后获得的源码是不能直接使用的,还需要我们手动进行编译才能使用。

Window下编译

主要我们需要安装VS才能进行编译。

编译Lua.exe

该程序为lua解释器。

  1. 新建一个VC++的控制台应用程序,项目名称叫做lua;
  2. 去掉预编译头的勾选;
  3. 复制解压后的src文件夹中所有文件复制到项目文件夹中,需要注意的是luac.c不要拷贝进去,而lua.c要保留;
  4. 点击“资源管理器”的“显示所有文件”按钮,就可以看到复制过来的所有源文件;
  5. 全选所有源文件,右击选择“包括在项目中”,即可将所有的源文件都包含到项目中;
  6. 运行项目即可获得Lua.exe文件;

编译luac.exe

该程序为Lua编译器。

步骤和上面一致,只是保留的是luac.c而要去掉lua.c。

编译Lua静态或动态库

步骤和上面一致,只是lua.c和luac.c都要去掉,同时项目创建时选择对应的类型,是DLL还是静态库。

MacOS下编译

相对于Windows下非常方便,不需要额外安装任何东西,直接通过终端进入解压目录后键入“make macos”的命令即可。

开发工具

工欲善其事必先利其器,我们需要一款顺手的IDE来编辑Lua代码,下面推荐两个我比较喜欢的IDE给大家。

LDT

下载地址:http://www.eclipse.org/koneki/ldt/

LDT自身已经集成了Lua的编译器和解释器,我们直接解压后就可以不做任何修改直接使用了,非常方便。

Sublime

Sublime是我个人很喜欢的一款编辑器,其本身支持对lua脚本的语法着色,我们经过简单的配置就可以使其支持运行lua代码,但需要留意的是,这个功能仅仅是运行lua脚本,执行结果只相当于lua [filename.lua],无法进行文本的输入控制,同时无法设置断点进行调试,需要这些功能的话请使用上面的LDT。

配置以Windows为例:

  • 首先找到我们最开始生成的lua.exe的路径;
  • 点击“Tools”->“Build System”->“New Build System”;
  • 填写下面的脚本:
{
"cmd": ["E:\\study\\C++\\lua\\Debug\\lua.exe", "$file"],
"file_regex":"^(?:lua:)?[\t](...*?):([0-9]*):?([0-9]*)",
"selector":"source.lua"
}
  • 保存为lua即可;
  • 接下来我们的lua脚本就可以直接点击“Tools”->“Build”来运行了。

Lua学习笔记(一):搭建开发环境的更多相关文章

  1. Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

    Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...

  2. php 学习笔记之搭建开发环境(mac版)

    Mac 系统默认集成了很多开发工具,其中就包括 php 所需要的一些软件工具. 下面我们将搭建最简单的 php 开发环境,每一步都会验证上一步的操作结构,请一步一步跟我一起搭建吧! web 服务器之 ...

  3. 【转】Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。

    @2019-02-28 [小记] Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印.

  4. 【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)

    之前一直用的EJB开发环境是他们搭建好的,直接拿来用,不过还是感觉老吃别人嚼好的不太好吃,所以自己动手来玩一玩. EJB开发依赖的最基本的环境:JDK.Eclipse.JBoss,这里简单介绍一下最基 ...

  5. 零基础Android学习笔记-01 安卓开发环境搭建

    安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...

  6. Cocos2d-x学习笔记之Cocos2d-x开发环境搭建

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Cocos2d-x源码包下载地址: http://cocos2d-x.org/projects/cocos2d-x/ ...

  7. go语言学习笔记1 Go开发环境

    什么是Go?Go是一门并发支持.垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡的一门编程语言. Go的主要特点有哪些?* 类型安全 和 内存安 ...

  8. Vue学习笔记(五)——配置开发环境及初建项目

    前言 在上一篇中,我们通过初步的认识,简单了解 Vue 生命周期的八个阶段,以及可以应用在之后的开发中,针对不同的阶段的钩子采取不同的操作,更好的实现我们的业务代码,处理更加复杂的业务逻辑. 而在这一 ...

  9. NLP自然语言处理学习笔记三(集成开发环境)

    前言: 我们在做自然语言学习的过程中使用Python进行编程.是用解析器的方式确实有些麻烦.在这里给大家推荐一款集成开发环境IDE可以很方便的对Python进行项目管理,代码自动提示,运行调试等. 简 ...

  10. C#学习笔记一:C#开发环境的设置

    C#是.NET Framework的一部分,用于编写.NET应用程序. C#集成开发环境(IDE) 微软提供了以下C#编程开发工具: Visual Studio 2010 (VS) Visual C# ...

随机推荐

  1. bzoj2085

    首先看到k的范围就该知道这题不是倍增就是矩乘 首先肯定要求出任意一对串(a,b) a的后缀与b的前缀相同的最长长度是多少 考虑到kmp求出的失配指针是一个串最长后缀和前缀相等的长度 这里多个串我们只要 ...

  2. lrj计算几何模板

    整理了一下大白书上的计算几何模板. #include <cstdio> #include <algorithm> #include <cmath> #include ...

  3. bzoj2005: [Noi2010]能量采集

    lsj师兄的题解 一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) *  2 - 1. 设g(i)为 gcd(x, y) = i ( 1 < ...

  4. Jquery 弹出提示框输入插件 apprise 修改中文按钮以及使用说明

      apprise的使用非常简单,引入js脚本和css <script type="text/javascript" src="/js/apprise-1.5.fu ...

  5. cbitmap 获取RGB CBitMap的用法

    MFC提供了位图处理的基础类CBitmap,可以完成位图(bmp图像)的创建.图像数据的获取等功能.虽然功能比较少,但是在对位图进行一些简单的处理时,CBitmap类还是可以胜任的.很多人可能会采用一 ...

  6. [Everyday Mathematics]20150121

    设 $f\in C[0,1]$ 适合 $$\bex xf(y)+yf(x)\leq 1,\quad\forall\ x,y\in [0,1]. \eex$$ 试证: $$\bex \int_0^1 f ...

  7. 3. 使用绘图API自定义视图 --- 旋转的方块

    import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; impor ...

  8. IOS 类别

    在编写面向对象的程序时,你经常希望向现有的类添加一些新的行为:你总是能够为对象提供使用这些新方法的新手段.当希望为现有的类增加新行为时,我们通常会创建子类,但是有时候子类并不方便.例如,你可能会希望为 ...

  9. SQL Server缺省约束、列约束和表约束

    SQL Server缺省约束是SQL Server数据库中的一种约束,下面就为您介绍SQL Server缺省约束.列约束和表约束的定义方法啊,供您参考. SQL Server缺省约束 SQL Serv ...

  10. 设置layoutControl1 中的 控件的 focus

    设置 layoutControl1 中的layoutControl EnableAutoTabOrder 为 false; this.layoutControl1.ActiveControl = th ...