第1课 - 学习 Lua 的意义
第1课 - 学习 Lua 的意义
1.Lua 简介
(1) 1993年、巴西
(2) 小巧精致的脚本语言,大小只有 200K
(3) 用标准C语言写成,能够在所有的平台上编译运行
(4) 发明的目标是嵌入在C/C++中,为应用程序提供灵活的扩展和定制功能
(5) 不适合用于开发独立的应用程序
2.Lua 产生的原因
C/C++ 工程中有大量的业务逻辑,而业务逻辑经常发生改变,这就需要更改源代码。由于C/C++ 是编译型语言,源码一旦改变就需要重新编译整个工程,在面对代码量很大的工程时需要耗费大量的时间。因此产生了一种想法:将经常改动的业务逻辑层用无需编译的脚本语言编写,将解释器以代码级别集成到 C/C++ 工程中,这样在发布软件时只需提供一份脚本即可,无需编译整个工程。
3.Lua 的应用领域
—— 嵌入式开发 & 游戏开发
嵌入式开发
(1) 嵌入式开发常面临资源受限的情况,而 Lua 解释器只有 200K
- 游戏开发
(1) 游戏的业务逻辑经常发生改变
(2) 游戏的核心库对硬件的要求很高,Lua有很高的执行效率
(3) 游戏开发的首选语言是 C/C++
(4) Lua易于扩展,由项目自定义核心库,如网络通信、图形界面等
4.Lua 和 Python 的对比
5.Lua 工程应用的模式
6.典型嵌入式系统架构
第1课 - 学习 Lua 的意义的更多相关文章
- 第1课 - 学习Lua的意义
学习Lua的意义 1.Lua简介 (1) 1993年.巴西 (2) 小巧精致的脚本语言,大小只有200K (3) 用标准C语言写成,能够在所有的平台上编译运行 (4) 发明的目 ...
- 第1课 学习 C++ 的意义
1. 回顾历史 (1)UNIX操作系统诞生之初是直接用汇编语言写成的.随着UNIX的发展,汇编语言的开发效率成为一个瓶劲. (2)1971年,Ken Thompson和Denis Ritchie对B ...
- 第1课 学习C++的意义
C++是C语言的加强,它们之间并不是对立的关系. 学习C++的优势: 现代软件产品的架构图: 操作系统抽象层:可有可无,但是作为一个移植性好的软件一定需要这一层.这一层的作用就是把操作系统提供的接口做 ...
- JavaEE精英进阶课学习笔记《博学谷》
JavaEE精英进阶课学习笔记<博学谷> 第1章 亿可控系统分析与设计 学习目标 了解物联网应用领域及发展现状 能够说出亿可控的核心功能 能够画出亿可控的系统架构图 能够完成亿可控环境的准 ...
- Python第十课学习
Python第十课学习 www.cnblogs.com/yuanchenqi/articles/5828233.html 函数: 1 减少代码的重复 2 更易扩展,弹性更强:便于日后文件功能的修改 3 ...
- Python第九课学习
Python第九课学习 数据结构: 深浅拷贝 集合set 函数: 概念 创建 参数 return 定义域 www.cnblogs.com/yuanchenqi/articles/5782764.htm ...
- Python第八课学习
Python第八课学习 www.cnblogs.com/resn/p/5800922.html 1 Ubuntu学习 根 / /: 所有目录都在 /boot : boot配置文件,内核和其他 linu ...
- 学习C++的意义
1,常见的观点: 1,并不是每个应届生都有机会写操作系统和驱动程序: 2,嵌入式系统也是软家系统,只不过是软件在出厂的时候已经被烧写到硬件中了,用户没有办法修改软件而已,因此嵌入式系统也是软件系统,C ...
- 第2课 - 搭建Lua开发环境
第2课 - 搭建Lua开发环境 1. Lua 的优点 (1)Lua 使用标准的 ANSI C 进行开发,可以无缝集成到宿主程序,且几乎支持所有平台. (2)Lua 是开源且免费的软件,以源码的方式直接 ...
随机推荐
- Web框架的原理详情
Web框架的原理 Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. socket服务 ...
- SpringSecurity权限管理系统实战—四、整合SpringSecurity(上)
目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战-三 ...
- python爬虫以及后端开发--实用加密模板整理
都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy 一.md5加密 1.简介 这是一种使用非常广泛的加密方式,不 ...
- 第4篇scrum冲刺(5.24)
一.站立会议 1.照片 2.工作安排 成员 昨天已完成的工作 今天的工作安排 困难 陈芝敏 完成云开发配置,初始化数据库: 线下模块(还剩下获取词的数据库) 倒计时模块的初加载还是有点慢 冯晓凤 ...
- 个人项目WordCount(C++/QT)
个人项目WordCount(C++/QT) GitHub项目地址:https://github.com/Nova-cjp/Word-Count 百度云链接:https://pan.baidu.com/ ...
- oracle练习前期准备
oracle练习前期准备 登陆scott用户(默认密码tiger),开始一般提示用户已锁. 解决办法:登陆sys或system用户解锁 输入命令alter user scott account unl ...
- 关于Junit4 和 Junit5.4
1. Junit5.4 主要是用于Maven框架 , 对普通类的测试是不可以的. 如这个, junit4可以, junit5.4不可以. 2. Junit不可以使用 static 静态方法. 关 ...
- JavaScript作用域与对象
1 - 作用域 1.1 作用域概述 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域.作用域的使用提高了程序逻辑的局部性,增强了程序的可靠 ...
- Labview学习之路(八)如何让控件显示在修饰符的前面
在Labview2017版本中,前面板选择修饰控件,会出现部分修饰控件会掩盖其他控件,情况如下: 我们右键点击和属性中都没有相关属性的改变,为什么是这样我也不清除: 上网查了一下,看到其他版本会有显示 ...
- android开发之java代码中字符串对比忽略大小写。java程序员必回,可用来比对验证码等问题
比如:字符串a与字符串B对比,只需调用 a.equalsIgnoreCase(B);即可.很简单的一个方法.忽略大小写.