首頁 > 常見問題 > 主體

把高階程式設計語言所寫的程式轉換成等價的可執行程式需要經過什麼

王林
發布: 2023-02-13 13:48:38
原創
31353 人瀏覽過

把高階程式設計語言所寫的程式轉換成等價的可執行程式需要經過編譯和連接。高階程式設計語言可擺脫電腦指令系統和機器語言隨機器不同的約束,把原始程式轉換成CPU能辨識的目標碼。

把高階程式設計語言所寫的程式轉換成等價的可執行程式需要經過什麼

本文操作環境:windows10系統、thinkpad t480電腦。

把高階程式設計語言所寫的程式轉換成等價的可執行程式需要經過編譯和連接。

使用者所寫的原始程式透過編譯成為目標程序,但此程式還不能運作。因為,程式中所使用的標準函數子程式和輸入/出子程序尚未連接入內。所以,也必須經過連接裝配,才能成為一個獨立的可運作的程式。

高階程式設計語言介紹

高階程式設計語言,也稱為“演算法語言”,簡稱“高階語言”。用易寫易懂的形式語言來編寫程式的程式設計語言。可擺脫電腦指令系統和機器語言隨機器不同的約束,並設計對應的編譯程式(或稱為「編譯器」),把適用於各種機器的高階語言所寫的原始程式轉換為中央處理器能辨識的目標程式碼.

依其描述運算過程的基本規範,分過程式語言(如FORTRAN語言、PASCAL語言、Ada語言等)、函數式語言(如LISP語言)、邏輯式語言(如PROLOG語言)和物件導向語言(在前幾類語言上增添一些支援物件導向的描述機製而構成)。

解釋程式是高級語言翻譯程式的一種,它將源語言書寫的源程式作為輸入,解釋成機器認識的二進位代碼,解釋一句後就提交計算機執行一句,並不形成目標程序。

編輯是對原始程式進行編寫。編譯是指把高階語言原始程式當作輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓電腦去執行這個目標程序。

原始程式轉可執行程式

程式要執行起來,必須經過四個步驟:預處理、編譯、彙編和連結。

1、預處理:將儲存在不同檔案的原始程式(.c檔案)聚合在一起,將語言中的巨集進行替換,例如預處理指令#include,讓編譯器開啟包含的文件,將其程式與其他程式待在一起.產生.i檔。

2、編譯:預處理原始程式(.i檔)變成組譯器(.s檔)

3、組譯(assember):將組譯器轉換為可重定位( relocatable: 是說檔案裡面的程式碼段和資料的位址還沒有最終確定)的機器碼,這一步產生目標檔(.obj或.o檔)。

4、連結(linker)/載入(loader):連結就是把目標檔案和其他分別進行編譯生成的程式模組(如果有的話)及系統提供的標準函式庫函數連結在一起,生成可運行的可執行檔的過程,載入時將各程式碼與資料定位到記憶體合適的位置,這一步產生最終的可執行檔。

把高階程式設計語言所寫的程式轉換成等價的可執行程式需要經過什麼

擴充知識:

  • #原始程式:

    原始程式指未編譯的依照一定的程式設計語言規範書寫的文本文件,是一系列人類可讀的電腦語言指令。

    原始程式不能直接在電腦上執行,需要用「編譯程式」將原始程式編譯為二進位形式的程式碼。

  • 目標程式:

    原始程式經過「編譯程式」編譯所得到的二進位程式碼稱為目標程式

    目標程式指原始程式經編譯可直接被電腦執行的機器碼集合,在電腦檔案上以.obj作副檔名

  • 可執行程式

    可執行程式:將所有編譯後所得的目標模組連接組裝起來,在與函數庫相連接成為一個整體,產生一個可供電腦執行的目標程序,成為可執行程序。

    簡單來說,可執行程式是目標程式與函式庫函數連接,形成的完整的可在作業系統下獨立執行的程式

    可執行程式的副檔名為「.exe 」(在dos/windows環境下)。

(學習影片分享:程式設計影片

以上是把高階程式設計語言所寫的程式轉換成等價的可執行程式需要經過什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板