当前位置: 首页 > news >正文

编译型语言 vs 解释性语言 vs 编译解释语言

计算机只能识别机器码,所以任何语言的源代码,最终都被编译/解释二进制的机器码,让计算机识别运行。解释性语言和编译型语言的不同关键在于源代码转换成二进制机器码的时机不同。

接下来我将对五种常见语言进行分析:

  • 编译型语言
    • C
    • C++
    • Go
  • 解释型语言(脚本语言)
    • Python
    • JavaScript
  • 编译&解释语言
    • Java
    • TypeScript

(1)c/c++分析:我们在windows写c/c++语言时,需要下载gcc编译器。写完代码后,编译(预处理->编译->汇编->链接)生成.exe文件。 此时的.exe文件在计算机外存中。若计算机需要执行,直接运行即可。因此编译型语言的执行速度很快(因为可以直接运行,不需要解释)

(2)Java分析:编写完Java代码后,形成.java文件。我们首先要编译生成.class字节码文件。然后,在运行时内存会先运行JVM虚拟机。JVM虚拟机会实时将字节码文件解释为机器码文件。供计算机识别运行。

(3)Python/JavaScript分析:这两种语言没有中间产物,写完源代码直接放进内存运行,因此很方便,但是运行速度最慢。

(4)TypeScript分析:.ts文件需要先经过tsc编译,生成.js文件,然后js再被浏览器/Node.js解释运行。

(5)Go分析:.go文件经过编译,生成.exe可执行文件(windows系统)。直接被计算机识别执行。


文章转载自:
http://buoyage.dmyyro.cn
http://cancered.dmyyro.cn
http://antineutron.dmyyro.cn
http://chateau.dmyyro.cn
http://abstersion.dmyyro.cn
http://badly.dmyyro.cn
http://cajun.dmyyro.cn
http://amenable.dmyyro.cn
http://amidship.dmyyro.cn
http://chawbacon.dmyyro.cn
http://apaprthotel.dmyyro.cn
http://awshucks.dmyyro.cn
http://apheresis.dmyyro.cn
http://aircrew.dmyyro.cn
http://anything.dmyyro.cn
http://bumptious.dmyyro.cn
http://bacterin.dmyyro.cn
http://angst.dmyyro.cn
http://calathus.dmyyro.cn
http://carpool.dmyyro.cn
http://amplitude.dmyyro.cn
http://bearer.dmyyro.cn
http://aerogenic.dmyyro.cn
http://auditive.dmyyro.cn
http://banian.dmyyro.cn
http://cercis.dmyyro.cn
http://astigmometer.dmyyro.cn
http://aggravating.dmyyro.cn
http://cherimoya.dmyyro.cn
http://biennial.dmyyro.cn
http://www.dtcms.com/a/180343.html

相关文章:

  • Missashe考研日记-day36(改版说明)
  • 昂瑞微高性能低功耗2.4G蓝牙芯片HS6621C支持BLE5.1协议主从一体支持语音采样苹果MFI认证寻物标签语音遥控
  • 如何通过C# 获取Excel单元格的数据类型
  • 【C++设计模式之Observer观察者模式】
  • Navicat BI 数据分析功能上线 | 数据洞察新方法
  • (leetcode) 力扣100 9.找到字符串中所有字母异位词(滑动窗口)
  • JAVA实战开源项目:健身房管理系统 (Vue+SpringBoot) 附源码
  • 常见标签语言的对比
  • rabbitmq学习笔记快速使用
  • 商业 |阿里云又丢出了核弹
  • Android SDK
  • JVM、JRE、JDK的区别
  • 【软件工程】软件多缺陷定位方法总结
  • 一周学会Pandas2 Python数据处理与分析-Pandas2数据排序操作
  • mysql主从同步
  • TRAE 配置blender MCP AI自动3D建模
  • HT71663同步升压2.7V-13V输入10A聚能芯半导体禾润一级代理
  • 深入理解指针(3)
  • docker常用命令总结
  • 动态路由匹配
  • 【计算机视觉】OpenCV实战项目: opencv-text-deskew:实时文本图像校正
  • 【高并发内存池】从零到一的项目之centralcache整体结构设计及核心实现
  • 第五节:对象与原型链:JavaScript 的“类”与“继承”
  • NoMachine 将虚拟显示器改为物理显示器
  • 【nestjs】一般学习路线
  • 常见降维算法分析
  • Java游戏服务器开发流水账(3)游戏数据的缓存简介
  • spark缓存-persist
  • 算法与数据结构 - 二叉树结构入门
  • 【HarmonyOS NEXT+AI】问答05:ArkTS和仓颉编程语言怎么选?