<rp id="d4pgs"></rp>
        當前位置:首頁>文章>正文

        什么是編譯器?

        來源:TechTMT.Com  作者:整理  日期:2022-10-26 22:15:53

        編譯器是指從高級語言到低級語言的翻譯器,同樣的技術可用于不同種類語言之間的翻譯。編譯器是一種電腦程序,它會將用某種編程語言寫成的源代碼(原始語言),轉換成另一種編程語言(目標語言)。

        什么是編譯器

        編譯器就是將“一種語言(通常為高級語言)”翻譯為“另一種語言(通常為低級語言)”的程序。

        編譯器的工作流程

        現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器 (Linker) → 可執行程序 (executables)

        編譯器的作用

        它主要的目的是將便于人編寫,閱讀,維護的高級計算機語言所寫作的源代碼程序,翻譯為計算機能解讀、運行的低階機器語言的程序,也就是可執行文件。編譯器將原始程序(Source program)作為輸入,翻譯產生使用目標語言(Target language)的等價程序。源代碼一般為高階語言 (High-level language), 如 Pascal、C、C 、C# 、Java 等,而目標語言則是匯編語言或目標機器的目標代碼(Object code),有時也稱作機器代碼(Machine code)。

        高級計算機語言便于人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如 Pascal、C、C 、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。

        對于 C#、VB 等高級語言而言,編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的字節碼(ByteCode)。最后運行的時候通過通用語言運行庫的轉換,編程最終可以被 CPU 直接計算的機器碼(NativeCode)。

        一般編譯器可以分為以下兩類

        • “本地”編譯器:編譯器可以生成用來在與編譯器本身所在的計算機和操作系統(平臺)相同的環境下運行的目標代碼。
        • 交叉編譯器:編譯器也可以生成用來在其他平臺上運行的目標代碼,交叉編譯器在生成新的硬件平臺時非常有用。

        編譯器工作方法

        • 首先編譯器進行語法分析,也就是要把那些字符串分離出來。
        • 然后進行語義分析,就是把各個由語法分析分析出的語法單元的意義搞清楚。
        • 最后生成的是目標文件,也稱為 obj 文件。
        • 再經過鏈接器的鏈接就可以生成最后的 EXE 文件了。
        • 有些時候需要把多個文件產生的目標文件進行鏈接,產生最后的代碼。這一過程稱為交叉鏈接。
        分類:文章
        編輯:tmt
        版權聲明:除非特別標注,否則均為本站原創文章,轉載時請以鏈接形式注明文章出處。文章版權歸原作者所有,內容不代表本站立場!
        免責聲明: 閣下應知本站所提供的內容不能做為操作依據。本站作為信息內容發布平臺,不對其內容的真實性、完整性、準確性給予任何擔保、暗示和承諾,僅供讀者參考! 如文中內容影響到您的合法權益(含文章中內容、圖片等),請及時聯系本站,我們會及時刪除處理。
        老湿黄色电影

            <rp id="d4pgs"></rp>