编译是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。一个现代编译器的主要工作流程为:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。

典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的EXE,
所以我们电脑上的文件都是经过编译后的文件。



验证码:

21# soothmusic 说:2014-07-20 06:14
回答20# wyf86:
功能越来越集成了
20# wyf86 说:2014-07-19 22:18
编译器的功能,如今不再单一,趋于多功能。
19# EEPW521 说:2014-06-18 22:09
回答18# eepwlover:
用于设计、测试、测量与控制。LabVIEW 2010新增了即时编译技术,可将执行代码的效率提高20%
18# eepwlover 说:2014-06-17 21:39
LabVIEW 2010怎么样?
17# 活词典 说:2014-05-19 21:06
回答16# 云端:
是先把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)
16# 云端 说:2014-05-18 22:18
编译器可以将原码直接编成机器吗吧?
15# wyf86 说:2014-04-15 22:42
回答14# soothmusic:
意法半导体全资子公司Portland Group的PGI Accelerator
14# soothmusic 说:2014-04-14 22:32
同时支持 Linux、Mac OS X和Windows三大操作系统的编译器有么
13# soothmusic 说:2014-03-11 21:46
看看DSP编译流程吧article/198372.htm
12# wyf86 说:2014-02-17 21:48
回答11# soothmusic:
GCC的Gfortran
11# EEPW网友 说:2014-02-16 21:31
Fortran上用什么编译器?
10# wyf86 说:2013-11-07 21:14
回答9# soothmusic:
还有用的,不过功能有限
9# soothmusic 说:2013-11-06 21:47
最早使用过的编译器是turbo c,现在还有人用吗
8# 活词典 说:2013-10-05 22:29
回答7# 云端:
IAR吧。
7# 云端 说:2013-10-04 21:07
8051是我们现在常用的51单片机的前身,那它的第一款编译器是哪家公司开发的呢?
6# wyf86 说:2013-10-01 23:20
回答5# soothmusic:
IAR Embedded Workbench Version 5 for ARM
5# soothmusic 说:2013-09-30 22:00
AVR第一款独立支持最新的ARM Cortex-M1处理器的开发工具是哪个?
4# eepwlover 说:2013-09-29 22:24
回复3# 云端:
Keil啊,这是最常用与好用的软件了。
3# 云端 说:2013-09-27 23:13
PSoC Creator™ IDE可以使用的编译器是?
2# wyf86 说:2013-09-26 22:45
回答1# soothmusic :
Microchip公司的MPLAB XC不错哦。
1# soothmusic 说:2013-09-25 21:55
dsPIC数字信号控制器、PIC 单片机所能用的编译器有哪些?
博聚网