大家好,今天來為大家解答源程序和目標程序的關系這個問題的一些問題點,包括源程序與目標程序也一樣很多人還不知道,因此呢,今天就來為大家分析分析,現在讓我們一起來看看吧!如果解決了您的問題,還望您關注下本站哦,謝謝~
把高級語言編寫源程序變成目標程序,需要經過什么
一、把源程序轉換為目標程序的過程叫編譯。
二、什么是編譯(compilation,compile)
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
3、編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。
源程序含義
源程序就是程序員寫的(或者IDE生成)包含程序的文件;
目標程序是將源程序經過編譯生成的二進制文件;
例如在C/C++中:
*.c*.cpp是源文件,用開發工具或者文件編輯器打開這些文件
可以看到源代碼;
*.o*.obj是目標程序,由編譯器生成,與源文件是對應的,
生成的目標文件可以送入鏈接程序,從而生成最終的程序
(如:*.exe,*.dll)
匯編語言,指令,機器碼三者的關系
機器碼和匯編語言之間是一一對應的關系。匯編程序中存有匯編指令(助記符)和機器碼(機器指令)之間一一對應關系的對照表。通過掃描查找對照表可以將匯編指令序列快速地翻譯為機器碼序列,這樣就把你的匯編源程序翻譯為目標程序,進而通過鏈接后生成可執行的機器碼文件(如exe文件)。
什么叫源文件和源程序
源程序源文件源代碼是一回事。源程序一般就是可以用記事本打開的好多行英文的,用編程語言寫好的軟件源程序經過編譯成目標程序,才能運行。一般目標程序不能再修改了。我們電腦上安裝的軟件都是目標程序。源程序不可能直接運行的。
提倡軟件開源的人士認為應該提供源程序給用戶,讓用戶自己修改,有利于軟件行業的發展。
反對的人覺得這樣不利于保護版權。
你如果不懂編程,源程序可以不管它。不影響正常使用。
解釋程序可以產生目標程序嗎
不能因為:編譯程序能產生目標程序而解釋程序則不能補充:解釋程序也稱為解釋器,它或者直接解釋執行源程序,或者將源程序翻譯成某種中間表示形式后再加以執行;編譯程序(編譯器)則是將源程序翻譯成目標語言程序,然后在計算機上運行目標程序。兩種語言處理程序的根本區別是:在編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執行過程,而在解釋方式下,解釋程序和源程序(或某種等價表示)要參與到程序的運行過程中,運行程序的控制權在解釋程序。
解釋器翻譯源程序時不生成獨立的目標程序,而編譯器則將源程序翻譯成獨立的目標程序。補充:編譯程序(Compiler,compilingprogram)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。
編譯程序屬于采用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。
編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
python編譯程序生成源程序的目標程序
因為python是解釋性語言,不需要編譯源程序就能運行。
源程序和目標程序的關系和源程序與目標程序的問題分享結束啦,以上的文章解決了您的問題嗎?歡迎您下次再來哦!