语言是Lua,单词是“嵌入式”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语言是Lua,单词是“嵌入式”相关的知识,希望对你有一定的参考价值。

我正在阅读有关“Lua”的语言,我对以下三行感到困惑:

  1. Lua主要用于嵌入式系统和客户端。
  2. 当时Lua唯一的竞争对手是TCL,它意味着嵌入到应用程序中。
  3. Lua旨在嵌入到其他应用程序中,

那么,第一行中“嵌入”一词的含义与第二行和第三行中“嵌入”一词的含义有何区别?将语言嵌入到其他应用程序中意味着什么?

答案

根据维基百科

嵌入式系统是在较大的机械或电气系统内具有专用功能的计算机系统,通常具有实时计算约束。

典型的例子包括汽车或咖啡机,其中计算机嵌入到系统中以完成某些任务。

典型的限制是由于成本和能量限制,嵌入式系统通常不如典型的台式计算机强大。因此,要在嵌入式系统上使用的语言应该允许轻量级执行。这就是第一行中使用“嵌入式”的方式。

第二行和第三行是Lua的通常应用:它用于扩展现有程序的功能。例如,想想咖啡机,您可以在其中指定自己的咖啡配方。然后咖啡机的实际控制程序例如在C中编写,而您可以在Lua中指定咖啡配方。这样,您在Lua中编写的咖啡配方就嵌入在C应用程序中。

Lua在嵌入式系统中的应用

由于评论在嵌入式系统中使用Lua,这里有一些来自Wikipedia's list of Lua applications的例子:

  • Canon Hack Development Kit(CHDK)是佳能相机的开源固件,它使用Lua作为两种脚本语言之一。
  • Cisco Systems使用Lua在自适应安全设备(ASA)中实施动态访问策略,并在Cisco Unified Communications Manager(CUCM)中实施SIP规范化。
  • 可以在Lua中创建Creative Technology Zen X-Fi2便携式媒体播放器的自定义应用程序。
  • Lego Mindstorms NXT和NXT 2.0可以使用第三方软件与Lua编写脚本。
  • LuCI是OpenWrt的默认Web界面,主要用Lua编写。
  • NodeMCU在硬件中使用Lua。 NodeMCU是一个开源硬件平台,可以直接在ESP8266 Wi-Fi SoC上运行Lua。
  • Sierra Wireless AirLink ALEOS GSM / CDMA / LTE网关允许用户应用程序以Lua编写。
  • Metaswitch Networks的Perimeta会话边界控制器使用Lua作为脚本语言来动态操作SDP数据。
  • Rockbox是一种开源数字音频播放器固件,支持用Lua编写的插件。
  • Logitech的Squeezebox音乐播放器支持最新型号(Controller,Radio和Touch)上用Lua编写的插件。
  • TI-Nspire计算器包含用Lua编写的应用程序,因为TI在OS 3+中添加了Lua脚本支持和计算器专用API。
另一答案

这里使用术语“嵌入”与SO中的[嵌入]标签的含义不同,或者甚至是常规使用的术语“嵌入式系统”。

维基百科页面中的链接是错误的和误导性的 - 链接是“嵌入式系统”,但引用是指它是一种可嵌入的语言 - 这不是一回事。

不要混淆这些东西 - 我一直在开发嵌入式系统多年,并没有看到任何地方的Lua。它当然可以在嵌入式系统中使用嵌入式语言(例如,用于最终用户定制),但它不是嵌入式系统语言。

另一答案

1指出Lua用于具有特定目的而非许多目的的设备。

图2和3表明Lua可以在例如C ++应用程序中实现以执行功能。

例如,应用程序的一部分可以使用Lua,但它也可以主要使用C ++。

以上是关于语言是Lua,单词是“嵌入式”的主要内容,如果未能解决你的问题,请参考以下文章

物联网的构建:使用Lua高级语言进行嵌入式开发

第1课 学习Lua的意义

Lua与其他宿主语言交互原理剖析

Lua与C语言的互相调用

Lua脚本语言快速入门手册

Lua高性能脚本语言快速入门