導航:首頁 > 源碼編譯 > 編譯後生成一個文件

編譯後生成一個文件

發布時間:2023-08-08 21:20:19

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

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

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

(1)編譯後生成一個文件擴展閱讀:

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

一個現代編譯器的主要工作流程:源代碼(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)。

2. c語言編譯生成的.obj文件解釋下

c語言編譯生成的.obj文件是一種文本文件,程序編譯時生成的中間代碼文件目標文件,一般是程序編譯後的二進制文件,再通過鏈接器和資源文件鏈接就成可執行文件了。OBJ只給出了程序的相對地址,而可執行文件是絕對地址。

obj文件基本結構:OBJ文件不需要任何種文件頭(File Header),盡管經常使用幾行文件信息的注釋作為文件的開頭。

OBJ文件由一行行文本組成,注釋行以符號「#」為開頭,空格和空行可以隨意加到文件中以增加文件的可讀性。有字的行都由一兩個標記字母也就是關鍵字(Keyword)開頭,關鍵字可以說明這一行是什麼樣的數據。

(2)編譯後生成一個文件擴展閱讀:

C編譯的整個過程很復雜,大致可以分為以下階段:

1、預處理階段

在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。

2、編譯、優化階段

編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。

3、匯編階段

將匯編語言翻譯成機器指令。

3. C語言源程序文件的後綴是什麼,經過編譯後生成文件的後綴是什麼經過連接後生成文件的後綴是什麼

C語言源文件後綴名是.c,編譯生成的文件後綴名是.obj,連接後可執行文件的後綴名是.exe。

源文件的後綴僅僅是為了表明該文件中保存的是某種語言的代碼(例如.c文件中保存的是C語言代碼),這樣程序員更加容易區分,編譯器也更加容易識別,它並不會導致該文件的內部格式發生改變。



(3)編譯後生成一個文件擴展閱讀

C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大。

依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。

C語言是普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點。

4. 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,即程序資料庫文件,用來記錄調試信息。

(4)編譯後生成一個文件擴展閱讀:

工作原理:

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

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

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

5. 用javac命令編譯成功後生成的文件叫

二進制文件。
Javac命令編譯後生成的文件可以在Java虛擬機中運行 編譯後生成的文件為二進制文件 編譯後生成文件的後綴名為.class。
JVM(java虛擬機)可以將java文件編譯為機器語言,是通過位元組碼的形式進行的存儲,此位元組碼文件的擴展名就是class文件,此擴展類型文件可以被虛擬機所識別和進行執行。

6. 在C語言中,完成C源文件編輯後到生成執行文件的步驟是什麼

在C語言中,完成C源文件編輯後到生成執行文件的步驟是:

  1. 預編譯

    處理有#標識的代碼,如將include的文件進行拷貝、#define的條件編譯等等!

  2. 編譯

    編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編,對目標代碼的生成進行的優化,翻譯成機器指令。生成的文件叫目標文件。

  3. 鏈接

    把目標文件和所需要的庫,鏈接成為可執行文件。

7. C語言源程序文件名的後綴是.OBJ,經過編譯後,生成文件的後綴是什麼經過連接後,生成文件的後綴是什麼

C語言源程序文件名的後綴是.c。C源程序經過C編譯程序編譯之後生成一個後綴為.OBJ的二進制文件,

然後由稱為「連接程序」的軟體,把此.OBJ文件與C語言提供的各種庫函數連接起來生成一個後綴為.EXE的可執行文件。

由高級語言編寫的程序稱為「源程序」,把由二進制代碼表示的程序稱為「目標程序」。為了把源程序轉換成機器能接受的目標程序,這時我們需要具有翻譯功能的軟體--「編譯程序」。每種高級語言都有與它對應的編譯程序。

(7)編譯後生成一個文件擴展閱讀

1、目標文件的擴展名為「.obj」(Windows)或「.o」(Linux)。目標文件已經是機器指令,但還不能運行,因為目標文件還沒有解決函數調用問題。

2、可執行文件的擴展名為「.exe「。

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

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

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

(8)編譯後生成一個文件擴展閱讀:

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

一個現代編譯器的主要工作流程:源代碼(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)。

閱讀全文

與編譯後生成一個文件相關的資料

熱點內容
redhatlinux最新 瀏覽:177
python字典編程詞彙 瀏覽:144
微信和伺服器如何通訊 瀏覽:10
百家號伺服器配置有什麼用 瀏覽:598
怎麼為電腦加密 瀏覽:58
伺服器出現差錯是什麼意思 瀏覽:616
蘋果app移到商店裡怎麼刪掉 瀏覽:254
phpjsphtml 瀏覽:63
吃雞手機國際服伺服器超時怎麼辦 瀏覽:68
努比亞Z5無命令 瀏覽:642
展示網站雲伺服器 瀏覽:872
代碼混淆器php 瀏覽:367
貝恩pdf 瀏覽:208
丙烯pdf 瀏覽:368
雲伺服器華碩 瀏覽:713
sublime3運行python 瀏覽:191
怎麼把安卓視頻傳到蘋果上面 瀏覽:83
手機拍鬼片用什麼app 瀏覽:642
爬山虎app是干什麼用的 瀏覽:507
有哪些寫給程序員的歌 瀏覽:51