编译执行与解释执行
计算机只能读懂0和1,编程语言是一种高级语言,它是便于人去编程的一种语言,编程语言介于计算机语言和人类语言之间,转换成算法就是人能读懂的语言,转换成机器语言就成了计算机能读懂的计算机语言。因为直接编写计算机语言太过复杂和繁琐,所以发明出来了编程语言。这里面转化的就有编译与解释
1.编译:将源代码一次性转换为机器码的过程(机器码有保存为文件,下次运行的时候直接运行机器码)
2.解释:将源代逐行转换为机器码并运行的过程(机器码并没有保存下来)
3.编译执行(编译器):将一段程序直接翻译成机器码(对于C/C++这种非跨平台的语言)或者中间码(Java这种跨平台语言,需要JVM再将字节码编译成机器码)。编译执行是直接将所有语句都编译成了机器语言,并且保存成可执行的机器码。执行的时候,是直接进行执行机器语言,不需要再进行解释/编译。
4.解释执行(解释器):在执行程序时,再将中间码(例如Java的字节码通过JVM解释成机器码)一行行的解释成机器码进行执行。这个运行过程是解释一行,执行一行。 执行编译过程的程序叫做编译器。 执行解释过程的程序叫做解释器。 编译型和解释型的语言之所以可以说相同,是因为这些语言从文本形式的源代码到最终产生的结果,所经历的过程是一样的。 根本区别是运行时,解释型需要将程序解释成机器码来运行,并没有保存机器码,是在运行过程中进行。 而编译型在运行之前就已经让编译器给程序编译成机器码了。 这也是为什么编译运行会比解释运行快的根本原因。
(精致的CV战士)
尽管很渺小,但终究会变得伟大
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了