文档章节

编译器基本组成及其作用

断桥残雪断桥残雪
 断桥残雪断桥残雪
发布于 2015/12/04 23:06
字数 345
阅读 1170
收藏 7

编译一个程序一般由预处理器、解释器、汇编器、链接器、加载器等组成,进而将一个高级语言编译成机器可以执行的二进制语言。

1.预处理器

主要进行宏处理,文件包含,语言拓展等。

2.解释器

将一个高级语言转化成一个机器语言,解释器从输入中读取一句,将其变成中间代码,执行它,再读取下一句,如果有错误发生,则解释器停止执行并且报告错误。

3.汇编器

将汇编语言转化成机器语言,汇编器的输出文件叫做目标文件,是一系列机器指令的集合,并且将它们存放到内存中去。

4.链接器

其作用是将一些目标文件连接起来形成一个可执行文件,所有这些文件可能有不同的汇编器汇编的,链接器的作用是寻找定位程序的参考模块,决定代码被加载到内存位置。

5.加载器

加载器是操作系统的一部分,负责加载可执行文件并且执行它们,它计算程序的大小,为其创造内存空间,初始化多个寄存器来进行执行初始化。




© 著作权归作者所有

断桥残雪断桥残雪
粉丝 53
博文 139
码字总数 94909
作品 0
广州
程序员
私信 提问
C语言技巧:怎样把数组作为参数传递给函数?

在把数组作为参数传递给函数时,有值传递(by value)和地址传递(by reference)两种方式。在值传递方式中,在声明和定义函数时,要在数组参数的尾部加上一对方括号([]),调用函数时只需将数组的...

天蚕宝衣
2016/03/10
2.6K
0
快来看看 Google 出品的 Protocol Buffer,别只会用 JSON 和 XML 了

前言 习惯用 数据存储格式的你们,相信大多都没听过 其实 是 出品的一种轻量 & 高效的结构化数据存储格式,性能比 真的强!太!多! 由于 出品,我相信已经具备足够的吸引力 今天,我将献上一...

Carson_Ho
2017/07/07
0
0
AngularDart4.0 英雄之旅-教程-02启动应用

码云项目页:https://gitee.com/scooplolwiki/toh-0 此教程讲解Angular的文件架构,(查看源代码)查看应用程序。 创建应用 开始,创建名为angulartourof_heroes的项目,使用WebStorm或者命令...

scooplol
2017/10/19
164
11
编译器开发-lex与yacc

一、编译器介绍 编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) →...

wwww6662003
2014/05/04
0
0
编程思想 之「异常及错误处理」

版权声明:Follow your heart and intuition. https://blog.csdn.net/qq_35246620/article/details/79506783 温馨提示:本系列博文(含示例代码)已经同步到 GitHub,地址为「java-skills」,...

维C果糖
2018/03/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java 文件类操作API与IO编程基础知识

阅读目录: https://www.w3cschool.cn/java/java-io-file.html Java 文件 Java 文件 Java 文件操作 Java 输入流 Java 输入流 Java 文件输入流 Java 缓冲输入流 Java 推回输入流 Java 数据输入...

boonya
32分钟前
3
0
SDKMAN推荐一个好

是在大多数基于Unix的系统上管理多个软件开发工具包的并行版本的工具。它提供了一个方便的命令行界面(CLI)和API来安装,切换,删除和列出sdk相关信息。以下是一些特性: By Developers, fo...

hotsmile
56分钟前
9
0
什么是 HDFS

是什么? HDFS 是基于 Java 的分布式文件系统,允许您在 Hadoop 集群中的多个节点上存储大量数据。 起源: 单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称...

Garphy
今天
5
0
一起来学Java8(四)——复合Lambda

在一起来学Java8(二)——Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda。 Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用Lambda表达式实现函...

猿敲月下码
今天
11
0
debian10使用putty配置交换机console口

前言:Linux的推广普及,需要配合解决实际应用方能有成效! 最近强迫自己用linux进行实际工作,过程很痛苦,还好通过网络一一解决,感谢各位无私网友博客的帮助! 系统:debian10 桌面:xfc...

W_Lu
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部