编程语⾔-编译型语⾔与解释型语⾔及汇编语⾔
编程语⾔
编译型语⾔和解释型语⾔
计算机只能直接理解机器语⾔,所以使⽤任何⾼级语⾔(⽅便⽤户理解)编写的程序若想被计算机运⾏,都必须将其转换成计算机语⾔,也就是机器码(0,1)。
⾼级语⾔转换成机器语⾔的⽅式有两种:
1、编译:将源代码编译成⽬标代码后执⾏,⾼级语⾔---编译---⽬标代码---执⾏--输出
2、解释:边读源程序边执⾏。⾼级语⾔----解释器----输出
因此:⾼级语⾔分为编译型语⾔和解释型语⾔
编译型语⾔
编译型语⾔是:将c/c++之类的编译型语⾔编写好的程序转换成机器语⾔,再经过链接器链接形成⼆进制的可执⾏⽂件。因为只需编译⼀次,后续需要运⾏该程序时,直接将可执⾏的⼆进制⽂件从硬盘载⼊内
存中运⾏
编译—>汇编语⾔—>机器语⾔
解释型语⾔
解释型语⾔:python源码⽆需编译成⼆进制代码,直接从源代码运⾏,运⾏时,python解释器将源码转换为字节码,再由⼀个专门的python 字节码解释器负责解释执⾏字节码(转换成机器语⾔、运⾏)。
总结
由于前者⽆需每次执⾏都编译,直接运⾏;后者每次执⾏都需转换成字节码,因此前者运⾏速度快,后者跨平台性好。
前者由于程序执⾏速度快,同等条件下对系统要求较低,因此像开发操作系统、⼤型应⽤程序、数据库系统等时都采⽤它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语⾔,⽽⼀些⽹页脚本、服务器脚本及辅助开发接⼝这样的对速度要求不⾼、对不同系统平台间的兼容性有⼀定要求的程序则通常使⽤解释性语⾔,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。
关于java
Java和其他的语⾔不太⼀样。
Java程序从源⽂件创建到程序运⾏要经过两⼤步骤:
1、java会由编译器进⾏编译⽣成class⽂件(字节码⽂件)---需要先编译
2、字节码由java虚拟机解释运⾏,解释执⾏即为⽬标代码⽣成并执⾏。因为java程序既要编译的同时也要经过JVM的解释运⾏,所以说Java被称为半解释语⾔!
第⼀步(编译):创建完源⽂件之后,程序先要被JVM中的java编译器进⾏编译为.class⽂件。
第⼆步(运⾏):jvM加载需要运⾏的类,由java虚拟机执⾏引擎来解释执⾏java字节码
(操作系统由汇编语⾔+c语⾔写成)
汇编语⾔
对于硬件cpu根据指令执⾏,输⼊⼀条指令就执⾏⼀条指令,这些指令均为⼆进制即操作码。⽐如加法指令就是00000011。的作⽤,就是将⾼级语⾔写好的程序,翻译成⼀条条操作码。
对于我们,⼆进制是不可读的,只能对照表去看⼿动输⼊⼆进制指令、或者⽤开关,每个开关对应⼀
个指令。为了解决可读性,便使⽤了汇编机制:使⽤⽂字表达指令,同时就需要将⽂字指令翻译成⼆进制即汇编语⾔。
汇编语⾔与c语⾔区别:
汇编语⾔是⼆进制指令的⽂本形式,与指令为⼀⼀对应关系,例:加法指令00000011===ADD;
⼀条c语⾔可能对应多条汇编语⾔(多条指令);因此c语⾔要先编译成汇编语⾔再将汇编语⾔转换为对应的⼆进制.
计算机组成部分
控制器、运算器、存储器、输⼊、输出
cpu = 控制器+运算器c语言和c++区别
存储器=内存+磁盘
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论