
以c語言為例 , 由編譯程序編譯后生成的目標文件是“.obj” 。
編譯程序是把用高級程序設計語言或計算機匯編語言書寫的源程序 , 翻譯成等價的機器語言格式目標程序的翻譯程序,屬于采用生成性實現途徑實現的翻譯程序 。編譯程序以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出;編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行 , 加工初始數據 , 算出所需的計算結果 。
【由編譯程序編譯后生成的目標文件是】編譯程序的實現算法較為復雜 。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系 。但是,由于高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用于翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序 。
