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?
- Lua 是一种经过验证的健壮语言
Lua已用于 许多工业应用程序 (例如 Adobe的Photoshop Lightroom),重点是嵌入式系统(例如, 巴西用于数字电视的 Ginga中间件)和 游戏 (例如, 魔兽世界和愤怒的小鸟)。Lua目前 是游戏中领先的脚本语言。Lua有可靠的 参考手册, 并且有 几本有关它的书。 自1993年创建以来, 已经发布了多个 版本的Lua并将其用于 实际应用中。Lua出现在 HOPL III,第三届ACM SIGPLAN编程语言历史大会中,在2007年。Lua获得了 《 游戏开发者》杂志2011年一线奖。
- Lua 快
Lua因其出色的表演而享有声誉。声称自己像Lua一样快是其他脚本语言的愿望。一些基准测试表明Lua是解释型脚本语言领域中最快的语言。Lua不仅在微调的基准程序中快速,而且在现实生活中也很快。大型应用程序的大部分已经用Lua编写了。
如果您需要更高的速度,请尝试 LuaJIT,这是一个使用即时编译器的Lua独立实现。
- Lua 是便携式的
Lua以小包装形式分发,并且在具有标准C编译器的所有平台中均可即用地构建。Lua在所有类型的Unix和Windows,移动设备(运行Android,iOS,BREW,Symbian,Windows Phone),嵌入式微处理器(例如ARM和Rabbit,用于Lego MindStorms等应用程序),IBM大型机上运行。
出于特定原因,为什么Lua也是受约束设备的理想选择,请阅读 Mike Pall的摘要。另请参见TimmMüller 创建的 海报。
- Lua 是可嵌入的
Lua是一种快速的语言引擎,占地面积小,可以轻松地嵌入到您的应用程序中。Lua有一个简单且文档齐全的API,可以与其他语言编写的代码进行强大的集成。用其他语言编写的库来扩展Lua很容易。用Lua扩展用其他语言编写的程序也很容易。Lua不仅用于扩展用C和C ++编写的程序,而且还用于扩展用Java,C#,Smalltalk,Fortran,Ada,Erlang甚至其他脚本语言(如Perl和Ruby)编写的程序。
- Lua 功能强大(但简单)
Lua设计的基本概念是提供用于实现功能的元机制,而不是直接在语言中提供大量功能。例如,尽管Lua不是纯粹的面向对象的语言,但它确实提供了用于实现类和继承的元机制。Lua的元机制带来了概念的经济性并保持了语言的小巧,同时允许以非常规的方式扩展语义。
- Lua 小
将Lua添加到应用程序不会使其膨胀。Lua 5.4.1的 压缩文件包含源代码和文档,压缩后为346K,未压缩为1.3M。源包含大约29000行C。在64位Linux下,使用所有标准Lua库构建的Lua解释器需要269K,Lua库需要450K。
- 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
GitHub
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, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/14039391.html
未经授权禁止转载,违者必究!