Lua 教程-01

原创 2016年08月30日 14:03:23

Lua 教程-01

下载源码

去官网下载lua源码,比如版本5.3.3

编译

根据readme中提示:

  • library:
    • lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c lmathlib.c loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c linit.c
  • interpreter:
    • library, lua.c
  • compiler:
    • library, luac.c

其实可以写一个cmake文件试试,不过网上有现成的bat,那就直接拿来用吧

cd src
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj
link /DLL /out:lua53.dll l*.obj
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c luac.c
link /out:lua.exe lua.obj lua53.lib
del lua.obj
link /out:luac.exe l*.obj
cd ..

打开vs的命令工具,执行,就可以了。最后得到三个文件

其它方法

组成分析

可以知道lua由3部分组成:

  • Lua链接库
  • Lua解释器
  • Lua编译器

用vs分开编译

编译Lua链接库

  • 新建vs项目
  • 将src目录下文件全部拷贝到项目中,删除lua.c,luac.c和lua.hpp
  • 可以设置编译64位,Configuration Type Static library(.lib), Precompiled Header: Not using Precompiled Header, Multi-threaded(/MT).
  • 得到Lua53.lib文件

编译Lua解释器

  • 新建vs项目
  • 将src目录下文件全部拷贝到项目中,删除luac.c
  • 设置当前项目以来与Lua53项目
  • 编译后会得到Lua.exe 文件,这就是Lua解释器lua.exe

编译Lua编译器

  • 新建vs项目
  • 将src目录下文件全部拷贝到项目中,删除lua.c
  • 设置当前项目以来与Lua53项目
  • 编译后会得到Luac.exe 文件,这就是Lua编译器Luac.exe

验证

  • 点击Lua.exe
  • 输入:
io.write("Hello I get a powerful program language called Lua \n")
io.write(string.format("This Lua is %s and now is %s \n",_VERSION,os.date()))
  • 会输出相应信息
版权声明:本文为博主原创文章,未经博主允许不得转载。

lua51plus.part01.rar(1/2)

  • 2010年08月18日 08:15
  • 5.5MB
  • 下载

lua学习01——基础

lua学习01 ——lua 的 基本类型 ——lua 的 table ——lua 的 function

Lua学习Day01

刚刚从Unity3D培训学校毕业,满以为自己一毕业就可以拿到8K左右的高工资,甚至还奢望过10K以上。但是现实会给你狠狠的上一课。 在学校里学的那点东西根本不够看,当当新手还可以,但是稍微往深处挖一...

腾讯XLua 01-lua来写MonoBehaviour

前几天腾讯开源了热更新矿建XLua,今天开始第一天的学习(每天更新)Example1.C# 与lua的互相调用public class Helloworld : MonoBehaviour { ...

项目记录20-- 原来c#框架mediator改lua--01

项目记录-- 原来c#框架mediator改lua--01 最近没什么时间,公司项目就一直自己一个人抗着,下个星期就可以交付了,不是说项目有多难而是自己一个人说没压力那是骗人的。也算是过把独立开发的...

如何把你的ESP8266-01变成nodemcu Lua

http://bbs.elecfans.com/jishu_531101_1_1.html 如何把你的ESP8266-01变成nodemcu Lua 开始玩ESP8266就...

Lua学习笔记---01

写在前面的话:Lua是一个脚本语言,嵌入别的语言中。详细的介绍大家自己百度一下Lua 值与类型 Lua 是一种 动态类型语言。这意味着变量没有类型,只有值才有类型。语言中不存在类型定义。而所有的值本...
  • avastxa
  • avastxa
  • 2015年09月23日 13:59
  • 236

Cocos2d-x-lua游戏两个场景互相切换MainScene01切换到MainScene02

require "MainScene02" local dic_size = CCDirector:sharedDirector():getWinSize() local win_w = di...

Mac下cocos2dx3.1用Cocos IDE写的Lua binding篇01

require "Cocos2d" require "Cocos2dConstants" -- cclog cclog = function(...)     pr...

Cocos2dx 3.12 Lua开发环境搭建_01

本文记录在 Windows 下搭建 cocos2dx lua 开发环境,还有调试设置。 系统:Windows 7 64 IDE:Mircrosoft Visual Studio 2013 Cocos2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Lua 教程-01
举报原因:
原因补充:

(最多只允许输入30个字)