當前位置:首頁 » 編程軟體 » 編譯產生目標文件

編譯產生目標文件

發布時間: 2025-04-04 03:02:39

① 選擇題:由C++源程序文件編譯而成的目標文件的默認擴展名為( )。A)cpp B)exe C)obj D)lik

由C++源程序文件編譯而成的目標文件的默認擴展名為:obj。

在VC6.0集成開發環境下,用戶可以使用編譯(compile)命令將一個.cpp為擴展名的C++源程序文件轉換成一個以.obj為擴展名的目標文件。

編譯,編譯程序讀取源程序(字元流),對之進行詞法和語法的分析,將高級語言指令轉換為功能等效的匯編代碼,再由匯編程序轉換為機器語言,並且按照操作系統對可執行文件格式的要求鏈接生成可執行程序。


(1)編譯產生目標文件擴展閱讀

源代碼-->預處理-->編譯-->優化-->匯編-->鏈接-->可執行文件

編譯過程就是把預處理完的文件進行一系列的詞法分析,語法分析,語義分析及優化後生成相應的匯編代碼。

現在版本的GCC把預處理和編譯兩個步驟合成一個步驟,用cc1工具來完成。gcc其實是後台程序的一些包裝,根據不同參數去調用其他的實際處理程序,比如:預編譯編譯程序cc1、匯編器as、連接器。

編譯器在編譯時是以c/c++文件為單位進行的, 如果項目中沒有c/c++文件,那麼你的項目將無法編譯。

經過預編譯得到的輸出文件中,將只有常量。如數字、字元串、變數的定義,以及c語言的關鍵字,如main,if,else,for,while,{,},+,-,*,,等等。編譯程序所要作得工作就是通過詞法分析和語法分析,在確認所有的指令都符合語法規則之後,將其翻譯成等價的中間代碼表示或匯編代碼。

② c語言代碼寫完如何運行

c語言代碼需要經過編譯、鏈接和運行三個步驟才能運行。
1. 編寫代碼:使用文本編輯器編寫c語言代碼,保存為.c文件。
2. 編譯代碼:使用c語言編譯器將.c文件編譯成目標文件,命令格式為:gcc -c filename.c,其中filename為你的.c文件名。
3. 鏈接代碼:使用鏈接器將目標文件和庫文件鏈接成可執行文件,命令格式為:gcc -o executable filename.o,其中executable為可執行文件名,filename.o為編譯生成的目標文件名。
4. 運行程序:在命令行中輸入可執行文件名,即可運行程序。
例如,假設你的c代碼文件名為hello.c,可以按照以下步驟運行:
1. 編寫代碼:使用文本編輯器編寫hello.c文件。
2. 編譯代碼:在命令行中輸入命令:gcc -c hello.c,生成目標文件hello.o。
3. 鏈接代碼:在命令行中輸入命令:gcc -o hello hello.o,生成可執行文件hello。
4. 運行程序:在命令行中輸入命令:./hello,即可運行程序。

③ C語言源程序文件經過編譯連接之後生成一個後綴為_____的文件。

如果只生成一個文件,那麼這個題目答案是B。編譯(compile)後生成目標文件,後綴:.obj。也就是機器碼。

然後鏈接器(Linker) 連接生成可執行文件,後綴:.exe。最後運行命令(go),直接運行.exe文件。

(3)編譯產生目標文件擴展閱讀:

簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。

一個現代編譯器的主要工作流程:源代碼(source code) →預處理器(preprocessor) →編譯器(compiler) →目標代碼(object code) →鏈接器(Linker) → 可執行程序(executables)

高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。

編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。

源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言。

而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。

對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的位元組碼(ByteCode)。

最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)。

④ 編譯程序的主要功能是()。

此題應選B選項,答案C是錯誤的。

B、生成目標文件。

1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。

2、僅僅只是編譯,是不會輸出運行結果的。

(4)編譯產生目標文件擴展閱讀:
編譯(compilation , compile) 1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。 2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。

編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

⑤ c++編譯後產生的一些文件是什麼

c++程序在編譯後,在目標路徑下會生成多個文件:

Debug文件夾(*.exe,*.ilk,*.obj,*.pch,*.pdb,*.idb,*,pdb),*.cpp,*.dsp,*.ncb,*.plg。

1、exe:是生成的可執行文件。

2、ilk:當選定漸增型編譯連接時,連接器自動生成ILK文件,記錄連接信息。

3、obj:是目標文件,源程序編譯後的產物。

4、pch:全稱是PreCompiled Header,就是預先編譯好的頭文件。

5、idb:文件保存的信息,使編譯器在重新編譯的時候只重編譯最新改動過的函數和只對最新類定義改動過的源文件進行重編譯,以提高編譯速度。

6、pdb:全稱是Program DataBase,即程序資料庫文件,用來記錄調試信息。

(5)編譯產生目標文件擴展閱讀:

工作原理:

C++語言的程序因為要體現高性能,所以都是編譯型的。但其開發環境,為了方便測試,將調試環境做成解釋型的。即開發過程中,以解釋型的逐條語句執行方式來進行調試,以編譯型的脫離開發環境而啟動運行的方式來生成程序最終的執行代碼。

生成程序是指將源碼(C++語句)轉換成一個可以運行的應用程序的過程。如果程序的編寫是正確的,那麼通常只需按一個功能鍵,即可搞定這個過程。該過程實際上分成兩個步驟。

第一步是對程序進行編譯,這需要用到編譯器(compiler)。編譯器將C++語句轉換成機器碼(也稱為目標碼);如果這個步驟成功,下一步就是對程序進行鏈接,這需要用到鏈接器(linker)。鏈接器將編譯獲得機器碼與C++庫中的代碼進行合並。

熱點內容
什麼貝斯壓縮 發布:2025-04-04 20:22:43 瀏覽:196
ftp命令上傳文件linux 發布:2025-04-04 20:17:26 瀏覽:520
androidsd視頻文件 發布:2025-04-04 20:05:24 瀏覽:638
我的世界神奇寶貝伺服器如何蹲神獸 發布:2025-04-04 20:00:07 瀏覽:559
安卓剪切板在哪裡打開 發布:2025-04-04 20:00:06 瀏覽:310
什麼是深度學習演算法 發布:2025-04-04 19:54:57 瀏覽:890
華為自動填充密碼在哪裡修改 發布:2025-04-04 19:54:08 瀏覽:857
雲米空調密碼多少 發布:2025-04-04 19:53:03 瀏覽:861
怎麼下載飢荒專用伺服器 發布:2025-04-04 19:44:03 瀏覽:9
unrardll解壓 發布:2025-04-04 19:20:36 瀏覽:8