• 跳至主要导航
  • 跳到主要内容
  • 跳到主要侧边栏
  • 跳到页脚

单片机技巧

微控制器工程资源,微控制器新产品和电子工程新闻

  • 产品展示
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • 应用领域
    • 汽车行业
    • 连接性
    • 消费类电子产品
    • 产业
    • 医疗类
    • 安全
  • EE论坛
    • EDABoard.com
    • Electro-Tech-Online.com
  • 影片
    • TI单片机视频
  • EE资源
    • 快速设计
    • 电子书/技术提示
    • 常见问题
    • LEAP奖
    • 播客
    • 网络研讨会
    • 白皮书
  • EE学习中心

什么是编译器,翻译器,解释器和汇编器?

2017年2月17日 通过 斯科特·桑顿 21条留言

转换器,编译器,解释器和汇编器都是将体彩十一运夺金网站转换为另一种类型的体彩十一运夺金网站的软件编程工具,但是每个术语都有特定的含义。所有上述所有工作都以某种方式将高级编程语言转换为中央处理器(CPU)可以理解的机器体彩十一运夺金网站。 CPU的示例包括由Intel(例如x86),AMD(例如Athlon APU),NXP(例如PowerPC)等制造的CPU。请务必注意,所有翻译器,编译器,解释器和汇编器都是程序本身。

译者
软件体彩十一运夺金网站转换工具最通用的术语是“翻译器”。用软件编程术语来说,翻译器是通用术语,可以指代编译器,汇编器或解释器。可以将高级体彩十一运夺金网站转换为其他高级体彩十一运夺金网站(例如,Basic,C ++,Fortran,Java)或更低级别的体彩十一运夺金网站(例如,处理器可以理解的语言)的任何内容,例如汇编语言或机器体彩十一运夺金网站。如果您不了解该工具的实际功能,而是完成了某种级别的体彩十一运夺金网站转换为特定目标语言的操作,则可以安全地将其称为翻译器。

编译器
编译器在一个会话中将高级语言体彩十一运夺金网站转换为机器(目标)体彩十一运夺金网站。编译器可能会花费一些时间,因为它们必须一次将高级体彩十一运夺金网站转换为低级机器语言,然后将可执行目标体彩十一运夺金网站保存到内存中。编译器创建的机器体彩十一运夺金网站将在具有特定指令集体系结构(ISA)的处理器上运行,该指令集依赖于处理器。例如,如果没有特殊的编译器,则无法编译x86的体彩十一运夺金网站并在MIPS架构上运行它。编译器也依赖于平台。也就是说,编译器可以将C ++转换为针对运行Linux操作系统的平台的机器体彩十一运夺金网站。但是,交叉编译器可以为平台生成体彩十一运夺金网站,而平台本身不能运行。

例如,在Windows计算机上运行的交叉编译器可以生成在特定Windows操作系统或Linux(操作系统)平台上运行的体彩十一运夺金网站。源到源编译器将一个程序或体彩十一运夺金网站翻译成另一种不同语言的语言(例如从Java到C)。然后选择编译器,意味着您首先需要知道ISA,操作系统和计划使用的编程语言。编译器通常与其他工具打包在一起,每个处理器制造商将至少具有一个编译器或一包软件开发工具(包括编译器)。通常,软件工具(包括编译器)是免费的;毕竟,如果没有软件来运行,CPU完全是无用的。编译完成后,编译器将报告错误。

口译员
使体彩十一运夺金网站在处理器上运行的另一种方法是使用解释器,该解释器与编译器不同。解释器像编译器一样翻译体彩十一运夺金网站,但是读取体彩十一运夺金网站并立即在该体彩十一运夺金网站上执行,因此最初比编译器要快。因此,解释器通常在软件开发工具中用作调试工具,因为它们可以一次执行单个体彩十一运夺金网站。编译器一次翻译所有体彩十一运夺金网站,然后处理器根据编译器产生的机器语言执行。如果在编译后对体彩十一运夺金网站进行了更改,则将需要对更改后的体彩十一运夺金网站进行编译并将其添加到已编译的体彩十一运夺金网站中(或者可能需要对整个程序进行重新编译。)但是,解释器虽然跳过了以下内容的编译步骤:与要完全编译的同一程序相比,整个要启动的程序的执行速度要慢得多。

但是,口译员在速度无关紧要的领域(例如调试和培训)很有用,并且可以将整个解释器用于另一个ISA,这使它在硬件体系结构之间工作时比编译器更可移植。 。解释器有几种类型:语法指导的解释器(即,抽象语法树(AST)解释器),字节码解释器和线程解释器(不要与并发处理线程混淆),即时(一种)混合翻译/编译器)和其他一些。可以在网上找到有关如何构建口译员的说明。[一世] 使用解释器的编程语言的一些示例是Python,Ruby,Perl和PHP。

组装工
汇编程序将以汇编语言编写的程序转换为机器语言,并且实际上是汇编语言的编译器,但也可以像解释程序一样交互使用。汇编语言是一种低级编程语言。低级编程语言不太像人类语言,因为一眼就很难理解。您必须仔细研究汇编体彩十一运夺金网站以遵循执行的意图,并且在大多数情况下,汇编体彩十一运夺金网站具有更多行体彩十一运夺金网站来表示与高级语言相同的功能。汇编程序将汇编语言体彩十一运夺金网站转换为机器体彩十一运夺金网站(也称为目标体彩十一运夺金网站),这是处理器可以直接理解的甚至更底层的语言。

汇编语言体彩十一运夺金网站更常用于8位处理器,并且随着处理器的指令集路径变宽(例如16位,32位和64位)而变得越来越笨拙。人们并非不可能读取机器体彩十一运夺金网站,即数字设备(包括处理器)用来通信的一串和零个字符串,但只有在计算机取证或暴力破解的情况下,人们才可能阅读。汇编语言是机器体彩十一运夺金网站的下一个层次,例如,在调试体彩十一运夺金网站的极端情况下(确切地确定有问题的执行中发生了什么)时,汇编语言非常有用。有时,编译器会以无法预料的方式“优化”体彩十一运夺金网站,从而影响开发人员或程序员的工作,因此有必要在汇编体彩十一运夺金网站中仔细遵循处理器的逐步操作,就像猎人跟踪猎物或猎物一样。侦探以下线索。

[一世] “让我们建立一个简单的口译员”, //ruslanspivak.com/lsbasi-part1

提起下: 常问问题, 精选, 微控制器 标签: 基本, 常问问题

读者互动

评论

  1. 兰萨娜·卡巴 说

    三月20,2019在5:42下午

    非常感谢,我非常了解

    回复
  2. 卡图瓦尔 说

    三月23,2019在8:53下午

    汇编程序的例子?

    回复
    • Aarna 说

      2020年9月24日上午12:48

      没有汇编程序的示例。汇编程序仅是汇编程序。

      回复
  3. 亚历克斯 说

    四月9,2019在3:13下午

    解释清楚,谢谢。

    回复
  4. 矩阵 说

    四月11,2019在2:58上午

    我使用此页面在实际的虚拟考试中作弊

    回复
  5. 马哈努·沙德拉克 说

    四月11,2019在10:32上午

    你正在做的好人。赶上

    回复
  6. 恩萨博荣誉 说

    五月24,2019在6:32上午

    感谢您的解释

    回复
  7. 米尔顿 说

    八月7,2019在2:01上午

    我喜欢你的解释

    回复
  8. 帕万 说

    十二月7,2019在1:06上午

    感谢您提供的好信息并举一些例子

    回复
  9. 斯威塔 说

    十二月16,2019在12:02下午

    感谢您的解释

    回复
  10. 阿米尔穆萨 说

    2020年1月6日上午11:20

    非常有趣,清晰,准确和精彩的解释,谢谢。

    回复
  11. 劳瓦利伊萨 说

    2020年3月21日,上午7:58

    他们之间有什么区别

    回复
  12. 阿贝索因伊丽莎白 说

    2020年7月14日上午10:33

    感谢您的解释

    回复
  13. 阿贝索因伊丽莎白 说

    2020年7月14日上午10:35

    谢谢你的解释

    回复
    • 阿贝索因伊丽莎白 说

      2020年7月14日上午10:37

      请我不明白你们在说什么

      回复
  14. 纳迪亚·凯利(Nadiia Kehrli) 说

    2020年10月1日上午3:38

    感谢您通过各种软件编程工具的解释

    回复
  15. 拉菲 说

    2020年10月20日上午12:40

    精美的解释

    回复
  16. Kolawole陶菲克·巴巴东德 说

    2020年10月29日上午7:49

    这意味着,编译器和解释器以不同的方式执行相同的功能。

    回复

引用

  1. 2017年顶级微控制器故事 说:
    十二月31,2017在12:59下午

    […]什么是编译器,翻译器,解释器和汇编器?转换器,编译器,解释器和汇编器都是将体彩十一运夺金网站转换为另一种类型的体彩十一运夺金网站的软件编程工具,但是每个术语都有特定的含义。所有上述所有工作都以某种方式将高级编程语言转换为中央处理器(CPU)可以理解的机器体彩十一运夺金网站。 […]

    回复
  2. 口译员دربرنامهنویسیچیست | برنامهچی 说:
    三月11,2019在2:21下午

    […]什么是编译器和解释器[…]

    回复
  3. 系统软件(汇编器,编译器,翻译器,调试器)– Vivid Mind 说:
    2020年5月6日,上午4:55

    […] 3)什么是编译器,翻译器,解释器和汇编器? […]

    回复

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

主侧边栏

快速设计

组件选择变得简单。

今天尝试
设计快速的globle

EE培训中心教室

“ee

“ee

“ee

“ee

订阅我们的新闻

订阅每周行业新闻,新产品创新等等。

立即订阅

的RSS 当前的EDABoard.com讨论

  • 那些拥有天线设计设备和模拟器的人...
  • 交流通用电机计算
  • 我是否遇到了MCP3421故障
  • 16F88>构建和编程过程> Error message
  • APB主站的Verilog体彩十一运夺金网站

的RSS 当前Electro-Tech-Online.com讨论

  • 搞笑图片主题!
  • 帮助一个非常基本的项目!
  • 462 MHz无源中继器
  • 需要您的帮助来安装西门子电炉
  • 同时从两个舷外为船上电池充电

在推特上关注我们

MicroContrlTips的推文

页脚

单片机技巧

EE World在线网络

  • 快速设计
  • EE World在线
  • EDA董事会论坛
  • 电子技术在线论坛
  • 连接器提示
  • 模拟IC技巧
  • 电力电子提示
  • 传感器提示
  • 测试和测量技巧
  • 电线电缆技巧
  • 5G技术世界

单片机技巧

  • 订阅我们的新闻
  • 与我们一起做广告
  • 联系我们
  • 关于我们
在推特上关注我们在Facebook上添加我们在YouTube上关注我们 在Instagram上关注我们

版权© 2021 ·WTWH Media LLC及其许可方。版权所有。
未经WTWH Media事先书面许可,不得复制,分发,传播,缓存或以其他方式使用本网站上的资料。

隐私政策
    • <param id="aJgRllw" class="aY08nIH"><aside class="B3HsMff"></aside></param>



          <bdi id="g3CHqGw"><var id="mrRwz1y"></var></bdi>



          • <aside id="Z0RVb82" class="Zj7fhz8"></aside>
          • <details id="d9gQdCp" class="dQBwQtk"></details>