编程语言 - 编译型语言与解释型语言及汇编语言
2021/12/10 17:17:26
本文主要是介绍编程语言 - 编译型语言与解释型语言及汇编语言,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
编程语言
编译型语言和解释型语言
计算机只能直接理解机器语言,所以使用任何高级语言(方便用户理解)编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码(0,1)。
高级语言转换成机器语言的方式有两种:
1、编译:将源代码编译成目标代码后执行, 高级语言---编译---目标代码---执行--输出
2、解释:边读源程序边执行。高级语言----解释器----输出
因此:高级语言分为编译型语言和解释型语言
编译型语言
编译型语言是:将c/c++之类的编译型语言编写好的程序转换成机器语言,再经过链接器链接形成二进制的可执行文件。因为只需编译一次,后续需要运行该程序时,直接将可执行的二进制文件从硬盘载入内存中运行
编译—>汇编语言—>机器语言
c++/c编译链接过程 https://blog.csdn.net/weixin_42018112/article/details/82289971
解释型语言
解释型语言:python源码无需编译成二进制代码,直接从源代码运行,运行时,python解释器将源码转换为字节码,再由一个专门的python字节码解释器负责解释执行字节码(转换成机器语言、运行)。
python编译过程和执行原理https://blog.csdn.net/helloxiaozhe/article/details/78104975
总结
由于前者无需每次执行都编译,直接运行;后者每次执行都需转换成字节码,因此前者运行速度快,后者跨平台性好。
前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。
关于java
Java和其他的语言不太一样。https://www.cnblogs.com/superyc/p/9987793.html
Java程序从源文件创建到程序运行要经过两大步骤:
1、java会由编译器进行编译生成class文件(字节码文件)---需要先编译
2、字节码由java虚拟机解释运行,解释执行即为目标代码生成并执行。因为java程序既要编译的同时也要经过JVM的解释运行,所以说Java被称为半解释语言!
第一步(编译):创建完源文件之后,程序先要被JVM中的java编译器进行编译为.class文件。
第二步(运行):jvM加载需要运行的类,由java虚拟机执行引擎来解释执行java字节码
(操作系统由汇编语言+c语言写成)
汇编语言
http://www.ruanyifeng.com/blog/2018/01/assembly-language-primer.html
对于硬件cpu根据指令执行,输入一条指令就执行一条指令,这些指令均为二进制即操作码。比如加法指令就是00000011
。编译器的作用,就是将高级语言写好的程序,翻译成一条条操作码。
对于我们,二进制是不可读的,只能对照表去看手动输入二进制指令、或者用开关,每个开关对应一个指令。为了解决可读性,便使用了汇编机制:使用文字表达指令,同时就需要将文字指令翻译成二进制即汇编语言。
汇编语言与c语言区别:
汇编语言是二进制指令的文本形式,与指令为一一对应关系,例:加法指令00000011===ADD;
一条c语言可能对应多条汇编语言(多条指令);因此c语言要先编译成汇编语言再将汇编语言转换为对应的二进制.
计算机组成部分
控制器、运算器、存储器、输入、输出
cpu = 控制器+运算器
存储器=内存+磁盘
这篇关于编程语言 - 编译型语言与解释型语言及汇编语言的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求