我正在阅读有关“Lua”的语言,我对以下三行感到困惑:
Lua主要是为嵌入式系统和客户设计的。
当时Lua唯一的竞争对手是TCL,它意味着嵌入到应用程序中。
Lua旨在嵌入到其他应用程序中,
那么,第一行中“嵌入”一词的含义与第二行和第三行中“嵌入”一词的含义有何区别? 将语言嵌入其他应用程序意味着什么?
答案 0 :(得分:4)
根据维基百科
嵌入式系统是一种计算机系统,在较大的机械或电气系统中具有专用功能,通常具有实时计算约束。
典型的例子包括汽车或咖啡机,计算机嵌入系统以完成某些任务。
典型的限制是,由于成本和能量限制,嵌入式系统通常不如典型的台式计算机强大。因此,要在嵌入式系统上使用的语言应该允许轻量级执行。这就是第一行中使用“嵌入”的方式。
第二行和第三行是指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音乐播放器支持Lua在最新型号(Controller,Radio和Touch)上编写的插件。
- TI-Nspire计算器包含用Lua编写的应用程序,因为TI在OS 3 +中添加了Lua脚本支持和计算器专用API。
答案 1 :(得分:3)
这里使用的术语“嵌入式”与SO中的[嵌入式]标签的含义不同,甚至与传统使用的术语“嵌入式系统”不同。
维基百科页面中的链接是错误的和误导性的 - 链接是“嵌入式系统”,但引用是指它是一种可嵌入的语言 - 这不是一回事。
不要混淆这些东西 - 我多年来一直在开发嵌入式系统,并且看不到Lua在任何地方。它当然可以在嵌入式系统中使用嵌入式语言(例如,用于最终用户定制),但它不是嵌入式系统语言。
答案 2 :(得分:0)
1指出Lua适用于具有特定目的而非许多目的的设备。
2和3表示Lua可以在例如C ++应用程序中实现以执行功能。
例如,应用程序的一部分可以使用Lua,但它也可以主要使用C ++。