編譯器,是將便於人編寫,閱讀,維護的高階計算機語言翻譯為計算機能識別,執行的低階機器語言的程式。編譯器將源程式(Source program)作為輸入,翻譯產生使用目標語言(Target language)的等價程式。源程式一般為高階語言(High-level language),如Pascal,C++等,而目標語言則是組合語言或目標機器的目的碼(Object code),有時也稱作機器程式碼(Machine code)。一個現代編譯器的主要工作流程如下:
源程式(source code)→預處理器(preprocessor)→編譯器(compiler)→彙編程式(assembler)→目標程式(object code)→聯結器(連結器,Linker)→可執行程式(executables])工作原理
翻譯是從原始碼(通常為高階語言)到能直接被計算機或虛擬機器執行的目的碼(通常為低階語言或機器言)。然而,也存在從低階語言到高階語言的編譯器,這類編譯器中用來從由高階語言生成的低階語言程式碼重新生成高階語言程式碼的又被叫做反編譯器。也有從一種高階語言生成另一種高階語言的編譯器,或者生成一種需要進一步處理的的中間程式碼的編譯器(又叫級聯)。典型的編譯器輸出是由包含入口點的名字和地址以及外部呼叫(到不在這個目標檔案中的函式呼叫)的機器程式碼所組成的目標檔案。一組目標檔案,不必是同一編譯器產生,但使用的編譯器必需採用同樣的輸出格式,可以連結在一起並生成可以由使用者直接執行的可執行程式。
肯定是要先編譯成機器碼,計算機才能識別。
編譯器,是將便於人編寫,閱讀,維護的高階計算機語言翻譯為計算機能識別,執行的低階機器語言的程式。編譯器將源程式(Source program)作為輸入,翻譯產生使用目標語言(Target language)的等價程式。源程式一般為高階語言(High-level language),如Pascal,C++等,而目標語言則是組合語言或目標機器的目的碼(Object code),有時也稱作機器程式碼(Machine code)。一個現代編譯器的主要工作流程如下:
源程式(source code)→預處理器(preprocessor)→編譯器(compiler)→彙編程式(assembler)→目標程式(object code)→聯結器(連結器,Linker)→可執行程式(executables])工作原理
翻譯是從原始碼(通常為高階語言)到能直接被計算機或虛擬機器執行的目的碼(通常為低階語言或機器言)。然而,也存在從低階語言到高階語言的編譯器,這類編譯器中用來從由高階語言生成的低階語言程式碼重新生成高階語言程式碼的又被叫做反編譯器。也有從一種高階語言生成另一種高階語言的編譯器,或者生成一種需要進一步處理的的中間程式碼的編譯器(又叫級聯)。典型的編譯器輸出是由包含入口點的名字和地址以及外部呼叫(到不在這個目標檔案中的函式呼叫)的機器程式碼所組成的目標檔案。一組目標檔案,不必是同一編譯器產生,但使用的編譯器必需採用同樣的輸出格式,可以連結在一起並生成可以由使用者直接執行的可執行程式。
肯定是要先編譯成機器碼,計算機才能識別。