編譯是從源代碼(通常為高級語言)到能直接被計算機(jī)或虛擬機(jī)執(zhí)行的目標(biāo)代碼(通常為低級語言或機(jī)器語言)的翻譯過程。然而,也存在從低級語言到高級語言的編譯器,這類編譯器中用來從由高級語言生成的低級語言代碼重新生成高級語言代碼的又被叫做反編譯器。也有從一種高級語言生成另一種高級語言的編譯器,或者生成一種需要進(jìn)一步處理的的中間代碼的編譯器(又叫級聯(lián))。一個現(xiàn)代編譯器的主要工作流程為:源代碼 (source code) → 預(yù)處理器 (preprocessor) → 編譯器 (compiler) → 目標(biāo)代碼 (object code) → 鏈接器 (Linker) → 可執(zhí)行程序 (executables)。

典型的編譯器輸出是由包含入口點的名字和地址, 以及外部調(diào)用(到不在這個目標(biāo)文件中的函數(shù)調(diào)用)的機(jī)器代碼所組成的目標(biāo)文件。一組目標(biāo)文件,不必是同一編譯器產(chǎn)生,但使用的編譯器必需采用同樣的輸出格式,可以鏈接在一起并生成可以由用戶直接執(zhí)行的EXE,
所以我們電腦上的文件都是經(jīng)過編譯后的文件。



驗證碼:

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:
用于設(shè)計、測試、測量與控制。LabVIEW 2010新增了即時編譯技術(shù),可將執(zhí)行代碼的效率提高20%
18# eepwlover 說:2014-06-17 21:39
LabVIEW 2010怎么樣?
17# 活詞典 說:2014-05-19 21:06
回答16# 云端:
是先把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的字節(jié)碼(ByteCode)
16# 云端 說:2014-05-18 22:18
編譯器可以將原碼直接編成機(jī)器嗎吧?
15# wyf86 說:2014-04-15 22:42
回答14# soothmusic:
意法半導(dǎo)體全資子公司Portland Group的PGI Accelerator
14# soothmusic 說:2014-04-14 22:32
同時支持 Linux、Mac OS X和Windows三大操作系統(tǒng)的編譯器有么
13# soothmusic 說:2014-03-11 21:46
看看DSP編譯流程吧http://www.butianyuan.cn/article/198372.htm
12# wyf86 說:2014-02-17 21:48
回答11# soothmusic:
GCC的Gfortran
11# EEPW網(wǎng)友 說:2014-02-16 21:31
Fortran上用什么編譯器?
10# wyf86 說:2013-11-07 21:14
回答9# soothmusic:
還有用的,不過功能有限
9# soothmusic 說:2013-11-06 21:47
最早使用過的編譯器是turbo c,現(xiàn)在還有人用嗎
8# 活詞典 說:2013-10-05 22:29
回答7# 云端:
IAR吧。
7# 云端 說:2013-10-04 21:07
8051是我們現(xiàn)在常用的51單片機(jī)的前身,那它的第一款編譯器是哪家公司開發(fā)的呢?
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處理器的開發(fā)工具是哪個?
4# eepwlover 說:2013-09-29 22:24
回復(fù)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數(shù)字信號控制器、PIC 單片機(jī)所能用的編譯器有哪些?