第1课 - 学习Lua的意义

学习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

(2) Lua解释器是速度最快的搜索引擎,与C/C++语言无缝衔接

  • 游戏开发

(1) 游戏的业务逻辑经常发生改变

(2) 游戏的核心库对硬件的要求很高,Lua偶很高的执行效率

(3) 游戏开发的首选语言是C/C++

(4) Lua易于扩展,由项目自定义核心库,如网络通信、图形界面等

4.Lua和Python的对比

5.Lua工程应用的模式

6.典型嵌入式系统架构

  Lua工作在业务逻辑层,可以很方便的更改业务逻辑。

注:本文整理于《狄泰12月提升计划》课程内容

时间: 2024-10-21 03:22:37

第1课 - 学习Lua的意义的相关文章

第1课 - 学习C++的意义

第1课 - 学习C++的意义 1. 对C++的一些误解   ××× (1)操作系统和驱动都是用C写的,学好C就够了.               (驱动和操作系统开发属于极少部分的人) (2)C++在应用层用的多,学嵌入式的没必要学.                (嵌入式系统应用程序开发也需要C++) (3)以后就做驱动开发了,没精力也没必要学习C++了.        (掌握一门编程语言不可能支撑整个职业生涯) (4)Linus大神都认为C++一无是处,还学它干嘛?            

第1课 学习 C++ 的意义

1.  回顾历史 (1)UNIX操作系统诞生之初是直接用汇编语言写成的.随着UNIX的发展,汇编语言的开发效率成为一个瓶劲. (2)1971年,Ken Thompson和Denis Ritchie对B语言(解释型)进行改良,使其能够直接产生机器码,C语言(编译型)诞生. (3)UNIX开始用C语言重写,同时C语言在实践的过程中得到发展. 2.  C语言的特点 (1)C 语言是在实践的过程中逐步完善起来的,没有深思熟虑的设计过程,仍残留过多低级语言的特征. (2)C语言的目标是高效,追求最终程序执

Redis源码学习-Lua脚本

Redis源码学习-Lua脚本 1.Sublime Text配置 我是在Win7下,用Sublime Text + Cygwin开发的,配置方法请参考<Sublime Text 3下C/C++开发环境搭建>. 要注意的是:在Cygwin中安装Lua解析器后,SublimeClang插件就能识别出可饮用的Lua头文件了,因为Build System中我们已经配置过"-I", "D:\\cygwin64\\usr\\include",而新安装的Lua头文件会

java视频课学习感悟

在为期7天的朗沃视频课学习中,我不仅收获了知识,还明白了许多道理. 从知识层面来讲,我学习的有: 1.c#环境开发工具--VS,它不同于java环境开发工具(eclipse): 2.C#语言中的关键字.基本类型(int.short.char.string.double.long.float.byte.bool): 3.C#语言基本类型运算规则.运算符号: 4.C#语言流程控制语句(if判断语句.switch判断语句.while/do  while循环语句.for循环语句.foreach循环):

SHELL第二课学习笔记

SHELL第二课学习笔记 A.脚本规范申明信息: #!bin/bash #Date 14:00 2014-1-30 #Author xiaoping #Mail [email protected] #Function: Thsi scrits funcion is .... #version 1.1 ~ B.注意点: a.成对内容一次写出来 {}.[].''.``.""# b.[]中括号两端需要空格 c.流程控制语句一次性写完格式 d.vi多行缩进 按v进入visual状态,选择多行,

SHELL第一课学习笔记

SHELL第一课学习笔记 什么叫Shell shell是一个命令解释器,它在操作系统最外层,负责直接与用户对话,把用户输入的命令解释给 操作系统并处理各种各样的操作的输出结果,输出到屏幕返回用户(交互式或者非交互式). 案例1.简单清除/var/log下的messages日志脚本: #!bin/bash cd /var/log cat /dev/null > messages echo "Logs cleaned up" 案例2.包含变量.命令.流程控制语句清除/var/log下

深度学习——历史及意义

参考文献:深度学习 历史: 2006年,Hinton给出了突破的一步. 2013年,李彦宏高调宣布成立深度学习研究院. 目前,很多领域的state-of-the-art被深度学习占领. 意义: 通常,传统的方法需要手动提取特征: 虽然,现在有许多牛逼的特征,如sift.hog特征,但是,手动提取特征很不方面,也不够“mechine learning”.另外,对于一个给定的问题,你要选择什么特征?你是挨个试试还是多练然后总结出一套经验?很显然,这种“mechine learning”让人怀疑.于是

学习C++的意义

1,常见的观点: 1,并不是每个应届生都有机会写操作系统和驱动程序: 2,嵌入式系统也是软家系统,只不过是软件在出厂的时候已经被烧写到硬件中了,用户没有办法修改软件而已,因此嵌入式系统也是软件系统,C++还是应用的比较多的: 3,今天软件行业飞速发展,一种语言支撑职业生涯,那是不可能的,并且今天的驱动开发也成为软件行业比较小的领域,绝对不能有以后就从事某个职业的观点,这在以后是不足以支撑整个职业生涯的: 4,C 语言天生为开发操作系统而来的,Linus 大神一生都致力于系统开发,至于他而言,确实

linux 2017-12-11 第1周第1次课 学习笔记

学习目标: 1:一但出发,必到达. 2:争取在半年完成基础学习. 3:出发目标8K,一到两年争取有18K-26K (会不会更高呢?) 学习制度: 五次不完成当日课程退课. 铭哥联系:QQ·微信·电话·不回复黑名单. 班主任发消息:必须回复表示收到. 必须有:课程笔记·有让傻瓜都能看得懂的笔记. 课程笔记·心得·问题·要发博客. 分区: /BOOT 200M(系统启动项目录) SWAP 2G 虚拟内存目录(是物理内存的两倍,最高8G) /   剩余空间(根) 网络: NAT模式: 让虚拟系统借助N