编译器
订阅
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
展开全文

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
信息
- 别 称
- 译码器
- 表达式
- 源代码→预处理器 → 编译器 → 目标代码
- 提出者
- 葛丽丝·霍普
- 应用学科
- 计算机
- 中文名
- 编译器
- 适用领域范围
- 计算机,单片机,编程语言
- 外文名
- Compiler
- 提出时间
- 20世纪50年代末
编译器工作原理
编译
[1]
是从源代码(通常为高级语言)到能直接被计算机
或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的EXE,所以我们电脑上的文件都是经过编译后的文件。
-
本书讲述了一个真实编译器的开发过程源语言是以C语言为蓝本进行适当简化定义的一门新语言称之为SC语言(简化的C语言)目标语言是大家熟悉的Intelx86机器语言。在本书中读者将看到从 SC语言定义到SCC编译器开发的完整...
-
Keil5配置GCC编译器_Keil5配置GCC编译器_
2021-10-04 04:38:19Keil5配置GCC编译器文档,Keil一般使用ARMCC编译MCU工程代码。 -
瑞萨CS+编译器资料_中文编译器
2021-01-12 11:01:55瑞萨CS+编译器资料 -
Proteus自带编译器使用注意事项
2021-01-19 22:45:20(1) 因为Proteus中自带的汇编编译器都是使用命令行命令进行编译。在菜单Source->Define code generation tools打开的对话框中,有一项参数是Command Line,对于代码生存工具ASEM51来说,默认的命令行参数可能类似于%... -
用Python创建的C编译器。-Python开发
2021-05-25 16:29:51ShivyC一个用Python创建的爱好C编译器。 ShivyC是一个用Python 3编写的业余C编译器,它支持C11标准的一个子集,并生成相当有效的二进制文件,包括一些优化。 ShivyC一个用Python创建的爱好C编译器。 ShivyC是一个用... -
(有两款支持图形库)手机上最好用的3款c语言编译器
2021-01-06 09:36:07**如果找不到这几款编译器的可以联系我,我发给你 QQ:1873564884 ** 电脑有时太麻烦,不方便随时运行测试结果,手机上有不少编译器,子曰:“工欲善其事,必先利其器”。拥有一款好的编译器也是成功的一部分。话不... -
lcc c编译器源代码
2020-09-20 18:25:41《可变目标C编译器—设计与实现》(A Retargetable C Compiler: Design and Implementation)中c编译器源代码4.2版,可成功编译,对编译器有兴趣的可看看。 -
易语言黑月编译器5.7,黑月编译器V3.53
2020-07-24 14:01:44易语言黑月编译器5.7下载,黑月编译器5.7 -
简易c#编译器(附源代码)_.net 静态编译器.rar
2021-09-09 11:17:39简易c#编译器(附源代码)_.net 静态编译器 -
vs2010 编译器 32位 64位 免安装(3)
2021-08-17 21:35:44免安装的vc2010编译器完整版,只包含编译器,支持32位和64位,只需运行对应的bat即可自动设置编译环境变量,进入工程目录执行编译指令即可,作者为了编译lzma sdk的相关资源,已通过测试。总大小1.4G,分为4个压缩包... -
MSVC编译器
2018-12-19 17:54:09不用装Visual Studio也能用的VS C++编译器。 原文链接https://blog.csdn.net/m0_37809890/article/details/85103109 -
TINY编译器源码_编译器源码_编译器_tiny_编译器源码_tiny编译器
2021-09-10 22:30:49tiny语言编译器源码,包括详细注释,适用于学习编译原理 -
Microsoft VBScript 编译器错误 错误 ‘800a03e9’ 内存不够的解决方法
2021-01-02 15:36:18其实出现Microsoft VBScript 编译器错误 错误 ‘800a03e9’ 内存不够的错误一般是由于访问量过大或攻击出现的,而iis进程回收还没有操作,所有我们手工回收一下就可以了。 iis 》应用程序池 》 找到对应网站的应用... -
自己动手写编译器链接器PDF及源码.rar
2021-09-07 19:40:02自己动手写编译器链接器PDF及源码 想玩编译器的可以下载 -
编译器:COOL编程语言(课堂面向对象语言)的编译器
2021-02-10 17:51:29编译器 斯坦福大学课程的课程 研究实现编程语言编译器的主要思想,包括: 词法分析 解析抽象语法树 类型和类型检查 中间语言 数据流分析 代码优化 代码生成 项目 为COOL (面向对象的课堂语言)编写完整的编译器 ... -
MPLAB编译器xc16-v1.70
2021-08-11 14:20:32PIC单片机开发 MPLAB X 16位单片机编译器,亲测可用告别官网龟速下载 -
辉芒微FMD编译器,安装正常使用
2022-05-24 08:01:10辉芒微 IDE,因为比较难找 -
Compiler:小型C语言编译器
2021-05-22 13:07:05基于java的C语言编译器 采用LL(1)文法进行分析,文法是C语言文法的子集,支持报错,以及错误原因 以前只用编译器编译程序,现在学完编译原理这门课以后,通过编译大作业,我对编译器的工作原理有了比较清晰的认识 ... -
实现一个简单Pascal语言的编译器.zip
2020-07-01 07:08:53利用c语言实现一个简单Pascal语言的编译器,实现了词法分析、语法分析和语义分析三大功能,有完整的代码和报告以及相关的辅(参)助(考)资料 -
易语言静态编译器全版本链接器打包.rar
2021-06-28 17:18:01易语言静态编译器全版本链接器打包 -
MATLAB编译器
2021-06-15 18:27:00基于MATLAB 2018b版本介绍MATLAB编译器。介绍如何利用编译器将MATLAB代码编译为独立应用程序或组件,并在没有安装MATLAB的计算机上进行部署。 -
可变目标C编译器 设计与实现_14136026.pdf
2021-01-03 15:34:44可变目标C编译器 设计与实现 -
各种 C++编译器的性能对比
2021-01-21 17:10:02C++中的C/C++编译器现在分为许多种,各有各的优缺点,但是现在界面上热的C/C++编译器都有什么?以及linux,windows,dos下的什么C/C++编译器流行?好了看完本文您会知道了。 我主要从事windows下的编程,所以我... -
mars编译器1(mips汇编语言编译器)
2020-04-25 14:17:46mars编译器(mips汇编语言编译运行),可进行mips汇编语言的编写,编译,调试,以及运行等事项。 -
编译原理课程设计 java实现c语言编译器(源码+报告).rar
2022-03-20 15:04:54java实现c语言编译器,包括词法分析,语法分析,语义分析,目标代码生成四个部分,总体实现编译器功能,有运行界面,代码精简,值得下载。 -
pgi编译器安装包以及-------
2020-12-18 19:16:15linux系统安装 -
黑月编译器插件v3.7.7.4(自动安装包).zip
2021-02-05 18:29:35黑月编译器插件v3.7.7.4(自动安装包) -
ARM C/C++编译器
2021-01-19 22:56:59ARM C/C++编译器可以被使用在UNIX和Windows/MS-DOS环境下。ARM C++编译器遵守C++的国际标准ISO/IEC 14822:1998。ARM C/C++编译器可以编译多种格式的C/C++源代码,其中包括ANSI C、EC++、C++。表1列出... -
c++实现c语言子集编译器
2018-12-16 09:57:38c++实现c语言子集编译器,共有三种数据类型INT,BOOL,ARRAY;三种控制结构IF-ELSE、WHILE、FOR,产生四个表,词法分析parser.out、action.out、goto.out、四元式parser.out。 -
Matlab官网下载,MinGW-w64 C/C++ 编译器 2021年9月22日更新
2021-10-15 14:57:52MinGW-w64 是基于 GNU 工具链的 Windows 编译器套件。它包括一个 GCC 编译器和相关工具,用于为 Windows 编译 C 和 C++ 应用程序。可以使用 MEX 从 MATLAB 调用使用 MinGW-w64 GCC 编译的 C 和 C++ 应用程序。这个 ...
收藏数
1,480,635
精华内容
592,254