導航:首頁 > 源碼編譯 > 編譯成目標代碼

編譯成目標代碼

發布時間:2022-08-29 09:49:33

編譯程序把源代碼編譯為的目標代碼是什麼代碼是不是匯編

這個問題比較復雜,其實來說,編譯器可以翻譯高級語言為任何低級語言或機器語言。像java,.NET的編譯器是編譯結果是中間代碼(可以理解為一種低級語言),由相應解釋器執行;像C之類的編譯以後可以是根據不同平台相應的機器碼,就是01組成的編碼,由對應平台的計算機直接執行;除此以外,gcc等也可以將C編譯為匯編輸出!

建議學習《編譯原理》這門課程,你會有更深的理解。

❷ 編譯是將整個源程序代碼文件一次性翻譯成目標程序代碼,最終生成可執行文件,對么

正確。
編譯(compilation , compile)
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

❸ 什麼是目標代碼

目標代碼(object code)指計算機科學中編譯器或匯編器處理源代碼後所生成的代碼,它一般由機器代碼或接近於機器語言的代碼組成。目標文件(object file)即存放目標代碼的計算機文件,它常被稱作二進制文件(binaries)。目標文件包含著機器代碼(可直接被計算機中央處理器執行)以及代碼在運行時使用的數據,如重定位信息,如用於鏈接或調試的程序符號(變數和函數的名字),此外還包括其他調試信息。目標文件是從源代碼文件產生程序文件這一過程的中間產物,鏈接器正是通過把目標文件鏈接在一起來生成可執行文件或庫文件。目標文件中唯一的要素是機器代碼,例如,用於嵌入式系統的目標文件可能僅僅含有機器代碼。
目標代碼通常採用三種形式:機器語言,匯編語言,待裝配機器語言模塊。
生成目標代碼時應著重考慮的問題: (1)如何使生成的目標代碼較短; (2)如何充分利用寄存器,以減少訪問內存次數; (3)如何充分利用指僅系統的的特點。

❹ 如何用編譯器將自己的源代碼轉換成目標代碼

我們使用編譯器將自己的源代碼轉換成目標代碼,
使用鏈接器將我們的目標代碼鏈接成一個可執行程序。另外,
我們使用一些程序在計算機中輸入源代碼文本並且編輯它。這些是最初的和最重要的工具,
它們構成程序員的工具集合或「程序開發環境」。
如果你使用的是命令行窗口,
就像很多專業程序員所做的那樣,
你將不得不自己來編寫編譯和鏈接命令。如果你使用IDE(「互動式開發環境」或「集成式開發環境」),
就像很多程序員所做的那樣,
簡單地點擊正確按鈕就可以完成這個工作。附錄C介紹了如何在你的C++實現中編譯和鏈接。
IDE通常包括一個具有有用特性的編輯器,
例如用不同顏色的代碼來區分你的源代碼中的注釋、
關鍵字和其他部分,
以及其他幫助你來調試代碼、
編譯和運行代碼的功能。調試是發現程序中的錯誤和排除錯誤的活動,
你在前進的道路上會聽到很多有關它的內容。
我們使用微軟的Visual
C++作?喑炭
⒒肪呈道
H綣
頤羌虻サ廝怠氨嘁肫鰲被蚴恰癐DE」的某些部分,
那就是所指Visual
C++系統。但是,
你可以使用一些提供最新的、
符合標準的C++實現的系統。我們所說的大多數內容(經過微小的修改)對所有的C++實現都將是正確的,
並且其代碼可以在任何地方運行。在工作中,
我們使用幾種不同的實現。

❺ 可否談一下C++編譯器大致是如何把C++源代碼編譯成目標代碼的

大致分成以下幾個階段:並以以Linux下的GCC編譯器舉例

第一階段:預處理,這個階段處理宏等
第二階段:編譯,包括語法檢查,頭文件檢查等
g++ -c name.o name.cpp name.h 生成目標文件
第三階段:鏈接,包括靜態鏈接與動態鏈接
g++ -o name name.o 生成匯編文件,可以直接運行

❻ 編譯器將高級語言程序轉變為目標代碼 這句話是否正確

對的,高級語言程序如c/c++,目標代碼是指對應機型的代碼,如X86,MIPS,ARM,PowerPC
普通的編譯器就是完成這個工作.如gcc,clang
至於java,python這類實際帶有虛擬機的語言會有所不同,會生成比目標代碼再高一層的位元組碼,最終由虛擬機運行(實際運行時也是目標代碼)(不考慮jit),不過這里不考慮

❼ 靜態庫文件全部編譯成目標碼嗎

不可以。
只有靜態庫中的可執行文件可以編譯成目標碼。
程序編譯一般需經預處理、編譯、匯編和鏈接幾個步驟。在我們的應用中,有一些公共代碼是需要反復使用,就把這些代碼編譯為「庫」文件,在鏈接步驟中,連接器將從庫文件取得所需的代碼,復制到生成的可執行文件中。這種庫稱為靜態庫,其特點是可執行文件中包含了庫代碼的一份完整拷貝,缺點就是被多次使用就會有多份冗餘拷貝。

❽ 編譯程序能直接將源代碼轉換成目標代碼嗎

這個中間代碼是個必須的步驟,不能省略。打個比方:再怎麼先進,也不可能把一隻活豬趕進機器里,然後另一頭就出來一盤盤做好的菜是吧?

❾ c語言中的編輯,編譯,連接,運行分別是什麼意思

1、編輯:編寫代碼,製作C語言的源文件。

2、編譯:是由編譯程序將C語言源文件轉換成二進制中間文件,對文件內部的語法語義做處理,如果編譯出錯,無法進行後續動作。

3、鏈接:將編譯中生成的中間文件組合成二進制可執知行文件,這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行文件,也就無法執行。

4、執行:運行可執行文件,這一步道是編寫代碼的最終目的。

(9)編譯成目標代碼擴展閱讀:

DOS命令通常分為三類:內部命令、外部命令和批處理命令。

1、內部命令:

其包含在命令解釋程序COMMAND.COM中,一旦啟動DOS,這些命令就被調入內存,只要在DOS系統提示符下輸入這些命令,就可立即執行。

2、外部命令:

其以文件的形式存儲在系統盤上,所帶擴展名為COM和EXE。DOS啟動時,它們並沒有被調入內存,執行前必須從系統盤讀進內存。因此輸入外部命令時,要了解該命令是否在當前盤上,不然DOS無法找到它們。

3、批處理命令:

實際上是個文件,該文件包含多條命令,當用戶鍵入批處理文件名時,DOS將順序執行其中的各條命令。注意,批處理命令必須用「.BAT」作為擴展名。

C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單。

當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。

網路-運行命令

網路-C語言

閱讀全文

與編譯成目標代碼相關的資料

熱點內容
如何撥號到中央伺服器 瀏覽:648
中國天才少年程序員 瀏覽:352
編程思想pdf 瀏覽:282
加密歐美航線 瀏覽:48
svn怎麼看伺服器的地址 瀏覽:187
騎馬與砍殺1命令部隊用盾牌 瀏覽:595
光纜pdf 瀏覽:350
加密流量實時監測 瀏覽:628
360壓縮和好壓哪個好 瀏覽:61
python判斷變數是否為list 瀏覽:906
雲伺服器1m帶寬表示什麼意思 瀏覽:702
429升冷櫃用多大壓縮機 瀏覽:116
決策樹演算法java實現 瀏覽:376
androidtv開發焦點控制 瀏覽:328
論人的成長pdf 瀏覽:282
python網站源代碼 瀏覽:827
手機文件壓縮器怎麼安裝 瀏覽:112
androidsdk封裝 瀏覽:266
微信加密不知道怎麼取消 瀏覽:705
分析演算法設計程序編寫 瀏覽:843