1. 机器语言
2. 汇编语言
3. 高级语言
概述:编程语言是用来定义计算机程序的形式语言,用来向计算机发出指令。计算机语言数量很多,每年都会产生大量新的编程语言。按层次来分,编程语言可分为3类:机器语言、汇编语言和高级语言。
高级语言编译过程1. 机器语言
- 定义1:机器语言是机器能直接识别的程序语言或指令代码,勿需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。
- 定义2:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。
- 优点:直接执行,速度快,资源占用少;
- 缺点:可读性、可移植性差,编程繁杂。
机器语言2. 汇编语言
- 汇编语言, 即第二代计算机语言,用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等;
- 用符号代替了0和1,比机器语言便于阅读和记忆;
- 在不同的设备中,汇编语言对应着不同的机器语言指令集(每一种CPU都有自己的机器指令集\汇编指令集),通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。(这个特性奠定了逆向功能成的基础);
- 优点:
①. 存储空间占用少、执行速度快的特点;
②. 作为一种低级语言,可扩展性很高;
③. 可以轻松的读取存储器状态以及硬件I/O接口情况。
- 缺点:
①. 因为CPU(8086、ARM64)的特殊性造成了代码兼容性差的缺陷;
②. 因为代码非常单调,特殊指令字符很少,所以造成了代码的冗长以及编写的困难;
③. 需要自己去调用存储器存储数据,很容易出现BUG,而且调试起来也不容易;
④. 后期维护成本也比较高。
3. 高级语言
- 高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。
- 高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如流行的java,c,c++,C#,lisp,prolog,FoxPro,易语言,中文版的C语言等等,这些语言的语法、命令格式都不相同。
(PS : 其中有部分章节是从前人的文章中搬运过来整理而成,这些文章里已经对部分知识点解释的很清楚明了了,我也没有更好的表达方式,所以站在巨人的肩膀上,我只是一个整理者加了部分自己的理解。)
网友评论