首頁  >  文章  >  後端開發  >  c編譯程式是什麼

c編譯程式是什麼

青灯夜游
青灯夜游原創
2021-02-26 11:39:5515350瀏覽

c編譯程式又稱為c語言編譯器,是指用c語言書寫的原始程序,翻譯成等價的機器語言格式目標程式的翻譯程式。 c編譯程式首先會檢查原始程式的正確性,並將它分解成若干基本成分;然後根據這些基本成分建立對應等價的目標程式部分。

c編譯程式是什麼

本教學操作環境:windows7系統、c99版本、Dell G3電腦。

c編譯程式是由電腦廠商提供的一套軟體。 c編譯程式又稱c語言編譯器,是指用c語言書寫的原始程序,翻譯成等價的機器語言格式目標程式的翻譯程序。

編譯程式屬於採用生成性實作途徑實現的翻譯程式。它以高階程式設計語言書寫的原始程式作為輸入,而以組合語言或機器語言表示的目標程式作為輸出。編譯出的目標程式通常還要經歷運行階段,以便在執行程式的支援下運行,加工初始數據,算出所需的計算結果。

編譯程式的基本功能是把原始程式(高階語言)翻譯成目標程式。但是,作為一個具有實際應用價值的編譯系統,除了基本功能之外,還應具備語法檢查、調試措施、修改手段、覆蓋處理、目標程序優化、不同語言合用以及人-機聯繫等重要功能。

  • ①語法檢查:檢查原始程式是否合乎語法。如果不符合語法,編譯程式要指出語法錯誤的部位、性質和有關資訊。編譯程式應使用戶一次上機,能夠盡可能地找出錯誤。

  • ②除錯措施:檢查原始程式是否合乎設計者的意圖。為此,要求編譯程式在編譯出的目標程式中安置一些輸出指令,以便在目標程式運行時能輸出程式動態執行情況的信息,如變數值的變更、程式執行時所經歷的線路等。這些資訊有助於使用者核實和驗證來源程式是否表達了演算法要求。

  • ③修改手段:為使用者提供簡單的修改原始程式的手段。編譯程序通常要提供批量修改手段(用於修改數量較大或臨時不易修改的錯誤)和現場修改手段(用於運行時修改數量較少、臨時易改的錯誤)。

  • ④覆蓋處理:主要是為處理程式長、資料量大的大型問題程式而設定的。基本概念是讓一些程式段和資料公用某些儲存區,其中只存放目前要用的程式或資料;其餘暫時不用的程式和數據,先存放在磁碟等輔助記憶體中,待需要時動態地調入。

  • ⑤目標程式最佳化:提高目標程式的品質,即佔用的儲存空間少,程式的運行時間短。依據最佳化目標的不同,編譯程式可選擇實現表達式最佳化、循環最佳化或程式全域最佳化。目標程式優化有的在原始程式層級上進行,有的在目標程式層級上進行。

  • ⑥不同語言合用:其功能有助於使用者利用多種程式設計語言編寫應用程式或套用現有的不同語言書寫的程式模組。最常見的是高階語言和組合語言的合用。這不但可以彌補高級語言難於表達某些非數值加工操作或直接控制、訪問外圍設備和硬體寄存器之不足,而且還有利於用彙編語言編寫核心部分程序,以提高運行效率。

  • ⑦人-機器聯繫:確定編譯程式實作方案時達到精心設計的功能。目的是方便使用者在編譯和運行階段及時了解內部工作狀況,有效地監督、控制系統的運作。

早期編譯程式的實作方案,是把上述各項功能完全收納在編譯程式之中。然而,習慣做法是在作業系統的支援下,配置偵錯程式、編輯程式和連接組裝程序,用來協助實作程式的偵錯、修改、覆蓋處理,以及不同語言合用功能。但在設計編譯程式時,仍須精心考慮如何與這些子系統銜接等問題。

【相關推薦:《C語言影片教學》】

以上是c編譯程式是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn