c源程序編譯和連接後的文件類型
① 源程序TEST.C經編譯產生的目標文件和連接後產生的可執行文件是什麼
編譯就是把C代碼轉換成CPU可執行的機器指令,每個.c文件生成一個.obj文件。
鏈接就是把生成的(多個)
.obj
文件及用到的庫文件(.lib)一起組合生成可執行文件(.exe)。
② c語言源程序文件經過編譯後生成文件的擴展名是什麼
源程序一般是.c或者.cpp
頭文件是.h
編譯後是.obj
鏈接後是.exe
③ 說出C語言源程序及編譯、連接後的文件擴展名發生了什麼變化
說出C語言源程序及編譯、連接後的文件擴展名發生變化:C語言源文件後綴名是.c,編譯生成的文件後綴名是.obj,連接後可執行文件的後綴名是.exe。
如果只生成一個文件,那麼這個題目答案是B。編譯(compile)後生成目標文件,後綴:.obj。也就是機器碼。然後鏈接器(Linker) 連接生成可執行文件,後綴:.exe。最後運行命令(go),直接運行.exe文件。
簡介
在嵌入式系統編程中不管是內核的驅動程序還是應用程序的編寫,涉及到大量的預處理與條件編譯,這樣做的好處主要體現在代碼的移植性強以及代碼的修改方便等方面。因此引入了預處理與條件編譯的概念。預處理(或稱預編譯)是指在進行編譯的第一遍掃描(詞法掃描和語法分析)之前所作的工作。預處理指令指示在程序正式編譯前就由編譯器進行的操作,可放在程序中任何位置。
④ C語言源程序文件名的後綴是.OBJ,經過編譯後,生成文件的後綴是什麼經過連接後,生成文件的後綴是什麼
C語言源程序文件名的後綴是.c。C源程序經過C編譯程序編譯之後生成一個後綴為.OBJ的二進制文件,
然後由稱為「連接程序」的軟體,把此.OBJ文件與C語言提供的各種庫函數連接起來生成一個後綴為.EXE的可執行文件。
由高級語言編寫的程序稱為「源程序」,把由二進制代碼表示的程序稱為「目標程序」。為了把源程序轉換成機器能接受的目標程序,這時我們需要具有翻譯功能的軟體--「編譯程序」。每種高級語言都有與它對應的編譯程序。
(4)c源程序編譯和連接後的文件類型擴展閱讀
1、目標文件的擴展名為「.obj」(Windows)或「.o」(Linux)。目標文件已經是機器指令,但還不能運行,因為目標文件還沒有解決函數調用問題。
2、可執行文件的擴展名為「.exe「。
⑤ C語言源程序文件的後綴是什麼
C語言源程序文件的後綴解決如下:
c 是c語言的源程序,.cpp是c++語言的源程序。
在Windows操作系統下,C語言源程序後綴為.c 、編譯後的後綴為 .obj 或 .o 、連接後生成的可執行文件的後綴為.exe。
⑥ C語言源程序文件的後綴是什麼,經過編譯後生成文件的後綴是什麼經過連接後生成文件的後綴是什麼
程序文件名的後綴是.c,經過編譯後是.obj,經過連接後是.exe。
xx.h文件.h中一般放的是同名.c文件中定義的變數、數組、函數的聲明,需要讓.c外部使用的聲明。
xx.c文件.c文件一般放的是變數、數組、函數的具體定義。
1、頭文件的預編譯,預處理。
編譯器在編譯源代碼時,會先編譯頭文件,保證每個頭文件只被編譯一次。
在預處理階段,編譯器將c文件中引用的頭文件中的內容全部寫到c文件中。
2、詞法和語法分析(查錯)。
3、編譯(匯編代碼,.obj文件)。
轉化為匯編碼,這種文件稱為目標文件。後綴為.obj。
4、鏈接(二進制機器碼,.exe文件)。
將匯編代碼轉換為機器碼,生成可執行文件。
(6)c源程序編譯和連接後的文件類型擴展閱讀
注意事項
在編譯過程中.h文件中的所有內容會被寫到包含它的.c文件中,而所有的.c文件以一個共同的main函數作為可執行程序的入口。
在.h文件中編寫函數實現依然可以正常編譯執行,相當於所有.h的內容最後都被寫到了main.c文件中。
但是為了邏輯性、易於維護性以及一些其他目的,一般在.h文件中寫函數的聲明,在.c文件中編寫函數的實現。
⑦ C語言執行過程生成的三種文件和擴展名
用C語言編寫的程序成為C語言源程序,源程序文件的擴展名為「.c」。
源程序經編譯生成目標文件(".obj")。
把目標文件與各種庫函數連接起來,生成可執行文件(「.exe」).
C語言程序可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進制文件之後即可運行。
(7)c源程序編譯和連接後的文件類型擴展閱讀:
C語言是面向過程的編程語言,用戶只需要關注所被解決問題的本身,而不需要花費過多的精力去了解相關硬體,且針對不同的硬體環境,在用C語言實現相同功能時的代碼基本一致,不需或僅需進行少量改動便可完成移植。
這就意味著,對於一台計算機編寫的C程序可以在另一台計算機上輕松地運行,從而極大的減少了程序移植的工作強度。
C語言既有高級語言的特點,又具有匯編語言的特點;既是一個成功的系統設計語言,又是一個實用的程序設計語言;既能用來編寫不依賴計算機硬體的應用程序,又能用來編寫各種系統程序;是一種受歡迎、應用廣泛的程序設計語言。
⑧ C語言源程序文件的後綴是什麼。經過編譯後,所生成文件的後綴是什麼經過鏈接後,所生成的文件後綴是什麼
源文件的後綴名是.h,編譯生成的文件後綴名是.exe(有些編譯器會生成一些額外文件)。
⑨ C語言源程序文件經過編譯連接之後生成一個後綴為_____的文件。
如果只生成一個文件,那麼這個題目答案是B。編譯(compile)後生成目標文件,後綴:.obj。也就是機器碼。
然後鏈接器(Linker) 連接生成可執行文件,後綴:.exe。最後運行命令(go),直接運行.exe文件。
(9)c源程序編譯和連接後的文件類型擴展閱讀:
簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。
一個現代編譯器的主要工作流程:源代碼(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)。
⑩ C語言程序編譯後產生哪些類型的文件這些文件的作用是什麼
1、以GCC編譯器為例,可以分為四步。
第一步是預處理,包括語法檢查等工作。
gcc
-P
abc.c
第二步由源程序生產匯編語言代碼。
gcc
-S
abc.c
會生成abc.s文件,這個文件里就是匯編代碼。
第三步編譯器生成目標代碼,一個源文件生成一個目標代碼。
gcc
-c
abc.c
會生成abc.o
第四步連接器從目標代碼生成可執行文件。
gcc
abc.o
2、目標代碼包括機器碼和符號表(函數及變數名)。連接器的主要作用是通過符號表在庫文件和其他模塊中找到在目標代碼中引入或未定義的符號(函數及變數名),將幾個目標代碼合成可執行文件。