编译程序和解释程序有什么区别?

2023-10-27

1. 编译程序和解释程序的区别:

编译型是使用编译器编译后生成计算机硬件可直接执行的指令,解释型是在运行时才由解释器逐语句去执行。

编译型代表:C&C++,C#,Java,解释型代表:html,javascript。区别有很多,说说常见的几个:

  1. 编译型语言的源代码有错误编译不通过,无法生成可执行代码,更无法执行程序;解释型语言只有执行时才会判断是否出错,即使一句出错,也可以继续执行下一句。
  2. 编译型语言都为强类型,即必须说明数据的类型,如int a;解释型语言多为弱类型,如js中var a,a可以为字符串也可以为整形。
  3. 编译型语言执行效率上大大优于解释型,主要因为编译器在编译过程中会根据不同平台自动优化目标代码,且特点为1次编译,N次运行,另外强类型的程序安全性高;解释型语言无上述过程,逐语句翻译造成执行效率低下,每次执行都会重复解释一遍,并且安全性低。
  4. 编译型程序适合对通用性,重复性,高效性有要求的系统,如开发操作系统;相比解释型语言更具灵活性,如开发网站前台页。
  5. 编译程序编译时间较长,运行速度较快

2. 翻译程序

翻译程序是指把高级语言源程序换成机器语言程序(目标代码)的软件。
翻译程序有两种:

  1. 编译程序。它将高级语言一次全部翻译成目标程序,每次执行程序时,只需要执行目标程序,因此只要源程序不变,就无需重新编译。
  2. 解释程序。它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译吓一跳源程序语句并执行,直至所有源程序语句全部都被翻译完。
  3. 汇编语言也是一种语言翻译程序,它把汇编语言源程序翻译成机器语言程序。汇编语言是一种面向机器的低级语言,用机器语言的符号表示,与机器语言一一对应。

编译器结构

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译程序和解释程序有什么区别? 的相关文章

  • crmeb 前端源码uniapp编译成微信小程序上传开发工具教程

    1 下载登录微信开发工具 下载地址 https developers weixin qq com miniprogram dev devtools download html 推荐使用稳定版 安装完成后后 打开 微信扫码登陆 2 下载HBu
  • 深入浅出VA函数的使用技巧

    深入浅出VA函数的使用技巧 作者 钟小兵 发文时间 2005 04 11 本文主要介绍可变参数的函数使用 然后分析它的原理 程序员自己如何对它们实现和封装 最后是可能会出现的问题和避免措施 VA函数 variable argument fu
  • 快速排序之“采取“尾递归”和“三数取中”技术的快速排序”

    快速排序之 采取 尾递归 和 三数取中 技术的快速排序 下面针对快速排序进行一些优化 QUICKSORT算法包含两个对其自身的递归调用 即调用PARTITION后 左边的子数组和右边的子数组分别被递归排序 QUICKSORT中的第二次递归调
  • char与signed char, unsigned char的区别

    一 开始 今天有一个困扰的问题 就是char与signed char unsigned char这三者的区别 二 三者之间 1 ANSI C 提供了3种字符类型 分别是char signed char unsigned char 而不是像s
  • ubuntu16.04 安装交叉编译工具aarch64-linux-gnu-gcc/g++

    前言 最近需要把人脸识别代码放到RK3399Pro的嵌入式板子上 所以编写好的c 代码要放到板子上编译 或者在ubuntu系统上使用交叉编译工具 编译好可执行文件在放到板子里运行 为了在能在ubuntu系统上能交叉编译 安装aarch64
  • QT学习总结

    转眼间工作已经三个月了 实习期也已经满了 在这三个月中 对qt的学习遇到了很多问题 也解决了很多问题 也留下了一些现在的未解之谜 在工作中关于qt的一些东西也需要进行一些记录 QT Creator对大于带有两个空格的目录和中文命名的目录不支
  • LLVM系列第十章:控制流语句if-else-phi

    系列文章目录 LLVM系列第一章 编译LLVM源码 LLVM系列第二章 模块Module LLVM系列第三章 函数Function LLVM系列第四章 逻辑代码块Block LLVM系列第五章 全局变量Global Variable LLV
  • 在 Ubuntu 操作中安装Code::Blocks

    在 Ubuntu 操作 中安装Code Blocks 步骤如下 安装步骤 1 先把编译环境 C库 C 库和Boost库装好 如下 sudoapt get install build essential 有可能安装 build essenti
  • C++11各编译器支持情况对比

    原文地址 http sd csdn net a 20120813 2808540 html C 11标准在去年8月份获得一致通过 这是自1998年后C 语言第一次大修订 对C 语言进行了改进和扩充 迄今为止已整整一年啦 想知道C 11在这一
  • bin、hex、elf、axf文件解析

    冰冻三尺非一日之寒 滴水穿石非一日之功 文章目录 引言 文件分类 1 bin文件 2 hex文件 3 axf文件 4 elf文件 总结 参考资料 深度理解编译过程 参考资料 深度理解编译文件 引言 bin hex elf axf作为嵌入式开
  • 面向对象编程是什么意思呢?汇总

    https blog csdn net qq 32381815 article details 79119996 面向对象思想 谈谈你对面向对象的理解 https blog csdn net qsbbl article details 71
  • 内存的堆分配和栈分配 & 字符数组,字符指针,Sizeof总结

    程序占用的内存分为几个部分 各个部分起什么作用 字符数组 字符指针在实现上有什么区别等等 本文对此做了详细阐述 特转载于此 供大家学习参考之用 一个由C C 编译的程序占用的内存分为以下几个部分 1 栈区 stack 由编译器自动分配释放
  • C++泛型编程:源起、实现与意义

    C 泛型编程 源起 实现与意义 为什么泛型泛型编程 Generic Programming 最初提出时的动机很简单直接 发明一种语言机制 能够帮助实现一个通用的标准容器库 所谓通用的标准容器库 就是要能够做到 比如用一个List类存放所有可
  • C++头文件

    作为一个二手的 net程序员 你看到了C 头文件一定就犯迷糊了 这到底是个啥玩意 再我纠结了24个小时 google20次 度娘10下 看过10来骗文章以后 我可能稍微开窍了 我对C 头文件总结 与 net比较如下 一 C 头文件究竟是什么
  • VC文件扩展名一览表

    VC文件扩展名一览表 2003 12 7 23 05 34 阅读589次 APS 存放二进制资源的中间文件 VC把当前资源文件转换成二进制格式 并存放在APS文件中 以加快资源装载速度 BMP 位图资源文件 BSC 浏览信息文件 由浏览信息
  • 源文件字符集,编译器内部字符集,执行字符集,控制台乱码问题,Qt中文问题

    源文件字符集 源文件本身也是文本文件 所以源文件字符集是指源文件保存时采用哪种字符集编码 VC 下源文件默认是gbk编码 如果想要更改 可以通过 文件 高级保存选项 修改某个源文件的编码方式 似乎没有什么选项能够设置创建项目时的源文件编码
  • 模板类成员函数特化写法

    昨天有对模板类的函数成员特化需求 目的是为了对不同模板参数实现不同的操作 结果在写过程中碰到already defined的问题 貌似是模板新手最容易碰到的问题了 类外的成员函数和同在类外的特化版本成员函数冲突了 因为对模板用法不是很熟悉
  • 第三章 总线

    一 系统总线概念 系统总线是计算机内部各个组件之间传输数据和控制信息的通信线路 连接中央处理器 内存 输入输出设备 扩展插槽等各个组件 是计算机系统中最重要的硬件组成部分之一 具有数据传输 控制信号传输和总线协议等功能 系统总线的性能对计算
  • 计算机组成原理综合1

    1 完整的 计算机系统 应包括 D A 运算器 存储器和控制器 B 外部设备和主机 C 主机和实用程序 D 配套的硬件设备和软件系统 2 计算机系统中的存储器系统是指 D A RAM存储器 B ROM存储器 C 主存储器 D 主存储器和外存
  • 5.1 中央寄存器的原理和组成

    思维导图 中央处理器 CPU 核心原理与组成 引言 中央处理器 CPU 作为计算机的 大脑 在现代计算机硬件中扮演着至关重要的角色 本文旨在深入探讨CPU的基本原理和组成部分 为读者提供一个全面的理解 CPU的基本原理 1 信息处理 CPU

随机推荐

  • 漏洞“Apache Zookeeper 授权问题漏洞(CVE-2019-0201)”详情

    扫描漏洞详情如下 目录 1 漏洞详情 漏洞名称 Apache Zookeeper 授权问题漏洞 CVE 2019 0201 发现日期 2019 05 23 CVSS评分 5 9 漏洞描述 Apache Zookeeper是美国阿帕奇 Apa
  • 华为OD机试 - TLV解码(Java)

    题目描述 TLV编码是按 Tag Length Value 格式进行编码的 一段码流中的信元用Tag标识 Tag在码流中唯一不重复 Length表示信元Value的长度 Value表示信元的值 码流以某信元的Tag开头 Tag固定占一个字节
  • 二、RabbitMQ常用交换器

    RabbitMQ常用交换器 direct 直接交换器 主要方式 队列与交换器通过路由绑定 队列和交换器单个绑定 队列和交换器的多重绑定 绑定多个路由 队列绑定到交换器上时 是允许绑定多个路由键的 也就是多重绑定 一个连接多个信道 指通过Ru
  • 斐波那契序列与黄金分割比

    Fibonacci Sequence 0 1 1 2 3 5 8 13 21 34 55 fib 0 1 1 2 3 5 8 13 21 34 55 斐波那契递推公式 Python打印斐波那契递增序列 方法一 模拟 n int input
  • qt发布后 mysql数据库_QT连接MySql数据库,以及配置git上传到github

    前言 最近想把自己写的一个C 项目结合所学的Qt mysql结合起来进行完善 前期的一些准备工作记录如下 如有侵权 请联系删除 QT下载链接 我的下载版本为5 9 MySql下载链接 我的下载版本为5 7 MySql的安装配置 1 解压 这
  • ElasticSearch操作命令大全

    创建索引和映射 1 手动创建索引 curl XPUT localhost 9200 new index 2 获取映射 curl localhost 9200 get together mapping group pretty 定义新映射 c
  • 机器学习——线性回归与决策树实验(附效果以及完整代码)(数据集、测试集开源)

    机器学习实验 实验名称 实验一 线性回归与决策树 一 实验目的 1 掌握线性回归算法和决策树算法 ID3 的原理 2 学会线性回归算法和决策树算法 ID3 的实现和使用方法 二 实验内容 本次实验为第一次实验 要求完成本次实验所有内容 具体
  • 接口文档参考示例

    接口文档参考示例 用户登录 POST api login 接口说明 登录成功后 会生成或更新用户令牌 token 使用帮助 测试数据库中预设了四个可供使用的账号 如下表所示 Untitled 请求参数 Untitled 响应信息 登录成功
  • 湖南株洲三维扫描检测CNC机加工零件截面检测弧度测量-CASAIM中科广电

    自工业时代开始以来 机械加工及零部件产业已经涵盖了各大电器零部件 汽车零部件 建筑机械零部件 航空航天零部件 海洋工程零部件等领域 涉及多种机械机床及工具仪器的制造 零件在加工过程中 受制于加工工艺等各方面的因素 难免会产生加工误差 会直接
  • Ubuntu系统中使用VSCode(Visual Studio Code)

    一 软件下载安装 去官网下载文件 https code visualstudio com docs dv linux64 也可以用ubuntu自带的软件商店下载 本帖就采用这种方法 案例采用ubuntu16 04 操作如下图 首先单击APP
  • maven 项目 junit步骤。

    pom xml添加对应的jar包
  • 自动化测试的转行

    什么是自动化测 做测试好几年了 真正学习和实践自动化测试一年 自我感觉这一个年中收获许多 一直想动笔写一篇文章分享自动化测试实践中的一些经验 终于决定花点时间来做这件事儿 首先理清自动化测试的概念 广义上来讲 自动化包括一切通过工具 程序
  • CSS——层级

    层级问题 选中的盒子显示的效果并不完整 右边的边框并没有显示红色 原因是其右边的盒子压了它的边框
  • Flink CDC 详述实时数据湖

    在构建实时数仓的过程中 如何快速 正确的同步业务数据是最先面临的问题 本文主要讨论一下如何使用实时处理引擎Flink和数据湖Apache Iceberg两种技术 来解决业务数据实时入湖相关的问题 01 Flink CDC介绍 CDC全称是C
  • Mac 开发 Tang Nano FPGA 指南(使用终端和使用 VS Code 和插件,适用所有 Gowin FPGA)

    最近收到了一个 Tang nano 9K FPGA开发板 就想借此机会研究一下 官方文档里介绍如果想使用高云的 FPGA 就需要使用 GOWIN IDE 但是需要申请 license 提交一堆资料 我是别人送的就不太方便让别人弄 加上 ID
  • 一,凸包---3,极边

    极边就是组成凸包的边的集合 时间复杂度是o n3 比判断极点快 时间复杂度O n4 快 为什么呢 试想 不论极边也好 极点也好 判断的依据是三角形的方向 无论是海伦公式 还是向量叉乘 极边是需要三个点组成一个三角形 是一个三重循环 即可用t
  • 六.安装harbor

    1 下载 harbor offline installer v1 9 3 链接 https pan baidu com s 1dTCy2KPqRhYKxTyE7vlrPg 提取码 6666 需要安装docker compose 2 修改配置
  • Java基础之异常

    文章目录 前言 一 初识异常 二 异常的体系结构 三 异常的分类 四 异常的处理 1 throw 异常抛出 2 throws 异常声明 3 try catch 捕获处理 4 finally 5 try catch finally与retur
  • Hugo themes Doit 合并 tags , categories 为检索页

    Hugo themes Doit 合并 tags categories 为检索页 原文 总觉得 tags categories 等页面可以合并成为一页 这样检索起来更方便一些 成果 https www ftls xyz retrieval
  • 编译程序和解释程序有什么区别?

    1 编译程序和解释程序的区别 编译型是使用编译器编译后生成计算机硬件可直接执行的指令 解释型是在运行时才由解释器逐语句去执行 编译型代表 C C C Java 解释型代表 html javascript 区别有很多 说说常见的几个 编译型语