xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

Lua 从入门到放弃 All In One

Lua 从入门到放弃 All In One

《Lua 从入门到放弃》

What is Lua? Lua is a powerful, efficient, lightweight, embeddable scripting language.
It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

Lua 是什么? Lua是一种强大,高效,轻量级,可嵌入的脚本语言。
它支持过程编程,面向对象的编程,功能编程,数据驱动的编程和数据描述。

为什么选择 Lua?

  1. Lua 是一种经过验证的健壮语言

Lua已用于 许多工业应用程序 (例如 Adobe的Photoshop Lightroom),重点是嵌入式系统(例如, 巴西用于数字电视的 Ginga中间件)和 游戏 (例如, 魔兽世界和愤怒的小鸟)。Lua目前 是游戏中领先的脚本语言。Lua有可靠的 参考手册, 并且有 几本有关它的书。 自1993年创建以来, 已经发布了多个 版本的Lua并将其用于 实际应用中。Lua出现在 HOPL III,第三届ACM SIGPLAN编程语言历史大会中,在2007年。Lua获得了 《 游戏开发者》杂志2011年一线奖。

  1. Lua 快

Lua因其出色的表演而享有声誉。声称自己像Lua一样快是其他脚本语言的愿望。一些基准测试表明Lua是解释型脚本语言领域中最快的语言。Lua不仅在微调的基准程序中快速,而且在现实生活中也很快。大型应用程序的大部分已经用Lua编写了。

如果您需要更高的速度,请尝试 LuaJIT,这是一个使用即时编译器的Lua独立实现。

  1. Lua 是便携式的

Lua以小包装形式分发,并且在具有标准C编译器的所有平台中均可即用地构建。Lua在所有类型的Unix和Windows,移动设备(运行Android,iOS,BREW,Symbian,Windows Phone),嵌入式微处理器(例如ARM和Rabbit,用于Lego MindStorms等应用程序),IBM大型机上运行。

出于特定原因,为什么Lua也是受约束设备的理想选择,请阅读 Mike Pall的摘要。另请参见TimmMüller 创建的 海报。

  1. Lua 是可嵌入的

Lua是一种快速的语言引擎,占地面积小,可以轻松地嵌入到您的应用程序中。Lua有一个简单且文档齐全的API,可以与其他语言编写的代码进行强大的集成。用其他语言编写的库来扩展Lua很容易。用Lua扩展用其他语言编写的程序也很容易。Lua不仅用于扩展用C和C ++编写的程序,而且还用于扩展用Java,C#,Smalltalk,Fortran,Ada,Erlang甚至其他脚本语言(如Perl和Ruby)编写的程序。

  1. Lua 功能强大(但简单)

Lua设计的基本概念是提供用于实现功能的元机制,而不是直接在语言中提供大量功能。例如,尽管Lua不是纯粹的面向对象的语言,但它确实提供了用于实现类和继承的元机制。Lua的元机制带来了概念的经济性并保持了语言的小巧,同时允许以非常规的方式扩展语义。

  1. Lua 小

将Lua添加到应用程序不会使其膨胀。Lua 5.4.1的 压缩文件包含源代码和文档,压缩后为346K,未压缩为1.3M。源包含大约29000行C。在64位Linux下,使用所有标准Lua库构建的Lua解释器需要269K,Lua库需要450K。

  1. Lua 是免费的

Lua是免费的开源软件,根据 非常宽松的许可证 (著名的MIT许可证)分发。它可以完全免费用于任何目的,包括商业目的。只需 下载 并使用它。

https://www.lua.org/about.html

install Lua

$ curl -R -O http://www.lua.org/ftp/lua-5.4.2.tar.gz
$ tar zxf lua-5.4.2.tar.gz
$ cd lua-5.4.2

# Linux
$ make linux test
$ make install

make

$ curl -R -O http://www.lua.org/ftp/lua-5.4.2.tar.gz
$ tar zxf lua-5.4.2.tar.gz
$ cd lua-5.4.2

# macOS
$ make macosx test
$ make install

install lua

$ curl -R -O http://www.lua.org/ftp/lua-5.4.2.tar.gz
$ tar zxf lua-5.4.2.tar.gz
$ cd lua-5.4.2

$ make all test
# install ✅
$ make install

$ lua -v
# Lua 5.4.2  Copyright (C) 1994-2020 Lua.org, PUC-Rio

$ lua --help
$ lua -h
lua: unrecognized option '-h'
usage: lua [options] [script [args]]
Available options are:
  -e stat  execute string 'stat'
  -i       enter interactive mode after executing 'script'
  -l name  require library 'name' into global 'name'
  -v       show version information
  -E       ignore environment variables
  -W       turn warnings on
  --       stop handling options
  -        stop handling options and execute stdin

https://www.lua.org/start.html

https://www.runoob.com/lua/lua-environment.html

demo ✅

HelloWorld.lua

$ touch HelloWorld.lua
$ vim HelloWorld.lua 
$ cat HelloWorld.lua 
-- HelloWorld.lua
print("Hello World!")
print("Hello World!");

$  lua HelloWorld.lua 
Hello World!
Hello World!

cocos2d-x

游戏开发

Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

https://www.cocos2d-x.org => https://www.cocos.com/products#Cocos2d-x

开源跨平台游戏开发框架
Cocos2d-x 是一款国产的开源的手机游戏开发框架,基于MIT许可证发布。引擎核心采用C++编写,提供C++、Lua、JavaScript 三种编程语言接口,跨平台支持 iOS、Android 等智能手机,Windows、Mac 等桌面操作系统,以及 Chrome, Safari, IE 等 HTML5 浏览器。

Cocos2d-x 引擎被广泛用于开发制作手机游戏、儿童教育软件、网络多媒体UI解决方案等交互性的图形化应用。Cocos2d-x的 主要优势是跨平台、高性能、高兼容性、可热更新、可定制及易用性。

https://github.com/search?q=cocos2d-x

https://github.com/cocos2d/cocos2d-x

Cocos2d-x 用户手册 (v2018.5.21)

https://www.cocos.com/docs#2dx

https://docs.cocos.com/cocos2d-x/manual/zh/

CMake 指南

CMake 是一个开源的跨平台构建工具,Cocos2d-x 是一个开源的跨平台游戏引擎,两者十分契合。

Cocos2d-x 决定自 3.17 版本开始,支持 CMake 的全平台构建。
支持的平台包括 Android (NDK)、iOS、macOS、Linux、Windows(VC++ compiler),同时支持通过 CMake 将引擎部分进行预编译,并在新的构建过程中重用预编译的引擎库。

https://docs.cocos.com/cocos2d-x/manual/zh/installation/CMake-Guide.html

???

https://github.com/cocos2d/cocos2d-js

Cocos Creator

一款轻量、高效、免费开源的跨平台游戏引擎,同时也是实时3D内容创作平台,不仅支持 2D、3D 的游戏开发,同时在HMI、IoT、XR、虚拟人偶等前沿领域,均可提供一套完善的行业解决方案

https://space.bilibili.com/491120849

Programming in Lua

https://www.lua.org/pil/

GitHub

https://github.com/lua/lua

https://www.lua.org/lua-l.html

refs

cmake

https://www.cnblogs.com/xgqfrms/tag/cmake/

https://zzk.cnblogs.com/my/s/blogpost-p?Keywords=cmake

demo

https://vcpkg.io/en/getting-started.html



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @ 2020-11-25 22:45  xgqfrms  阅读(610)  评论(6编辑  收藏  举报