引子

先看一个实例,在EK-LM3S8962平台上实现的,见下图所示:

对于EK-LM3S8962平台,主要是TI的芯片LM3S8962芯片,ARM Cortex-M3内核,256KB FLASH,64KB SRAM,总之资源来说是非常好小的,但是却可以运行eLua虚拟机,如下所示:

那是怎么回事呢?且听细细分解。

说到eLua,首先要了解Lua语言:

Lua

Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。

Lua语言设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。

Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。

Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。

  一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

eLua学习第一课:和Lua的第一次亲密接触相关推荐

  1. JavaScript学习 第一课(一)

    JavaScript学习 第一课(一) 学习内容 一.什么是JavaScript 二.如何引用JavaScript 三.JavaScript使用时注意的事项 四.JavaScript中的保留字与关键字 ...

  2. gb2818的学习第一课

    关于gb2818的学习第一课 一.说明 为什么写这一系列的文章,自己在做gb28181是的一下痛苦的经历,在经过了网上的大量资料终于有所进步,所以想回馈一下大神们. 二.安装 参考文章:Linux编译 ...

  3. python学习第一课——环境配置+比着葫芦画个瓢

    python学习第一课 1. python概览 2. python的运行 3. python的变量.类型与存储 4. 对*.py文件的运行与存储 5. 终端切换路径及目录显示 6. 踩着巨人的肩膀创新 ...

  4. 无人驾驶学习---第一课

    无人驾驶学习-第一课 (本课程内容来自优达学城无人驾驶纳米学位) 车道线识别 内容: 识别出一幅图像中的车道线并将其标注出来 过程: 1.准备一张包含有车道线的图片: 2.读取图片并转换为灰度图: 3 ...

  5. python学习第一课

    python学习第一课 课前回顾 1.请求类型: 2.传参类型: 3.postman断言.参数化.多接口参数依赖 接口文档 这个接口是做什么的?URL请求类型参数--> 如何传递参数params ...

  6. CS61C学习 —— 第一课

    目标 CS61C学习 -- 第一课 计算机处理器和内存是如何工作的? 处理器和内存是如何影响软件设计和性能的? 介绍计算机系统领域相关知识(CS 152, CS 164, CS 161, CS 149 ...

  7. 第一次亲密接触IT技术(第一天)

    第一次亲密接触IT技术(第一天) 心得体会 本人在IT培训行业打拼16年,一直从事市场岗位,第一次亲密接触IT技术,了解计算机的基础原理,通过对于第一个任务的学习.思考.解决过程,主要学习了计算机进制 ...

  8. 第一次亲密接触(1)

    原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 .作者信息和本声明.否则将追究法律责任. http://blog.csdn.net/zhangjie875 有一对儿异地的恋人,他们每 ...

  9. 与chatGPT的第一次亲密接触

    最近,chatGPT火了,不管传统媒体,还是各种自媒体平台都在说它.今天我突然也想注册一个玩玩,注册前2步还行,但是等点开邮箱校验时,打开网页显示: 上网查了一下,没向中国开放服务:如要注册除了要邮箱 ...

最新文章

  1. RequestResponse总结
  2. golang 数组和切片
  3. 可以直接用的“ html转字符串string”方法
  4. python ctypes实现api测试_Python与C之间的相互调用(Python C API及Python ctypes库)
  5. “365算法每日学计划”:03打卡-贪心算法
  6. 13 个适合『中级开发者』练手的项目
  7. 06004_Redis的启动、使用和停止
  8. js中关于Blob对象的介绍与使用
  9. 基于Tablestore多元索引打造亿量级店铺搜索系统
  10. C++中回调函数(CALLBACK)初探
  11. 9.包装类的构造方法
  12. word 产生很多temp 不显示_Word与PPT互转,怎样才能30秒内搞定?教程来了
  13. ATL ActiveX开发入门
  14. python端口扫描工具_基于Python的简易端口扫描器
  15. 服务器mt核心bug修复,RHSA-2020:0374-重要: 内核 安全和BUG修复更新
  16. python 循环播放音乐_python中pygame循环播放3首音乐和3张图片
  17. 魔百盒M302H-ZN安徽版-刷机固件及教程
  18. python模拟硬件实现btb和tomasulo算法
  19. 为海思u-boot快速生成reg_info.bin文件
  20. 一套Java架构开发的电商系统要多少钱

热门文章

  1. Codeforces 1206
  2. 单例模式 Singleton
  3. Google protobuf使用技巧和经验
  4. 7-2一元多项式的乘法与加法运算
  5. GitLab使用自定义端口
  6. python performance measure 01
  7. symmetric-tree
  8. 升级GCC 4.6后的warning: ”variable set but not used“
  9. OpenGL中的着色模式GL_SMOOTH与GL_FLAT
  10. linux中运行.sql文件