后綴為obj的程序稱為 c語言編譯生成的.obj文件解釋下?
c語言編譯生成的.obj文件解釋下?c語言編譯生成的.obj文件是一種文本文件,程序編譯時生成的中間代碼文件目標文件,一般是程序編譯后的二進制文件,再通過鏈接器和資源文件鏈接就成可執(zhí)行文件了。OBJ只
c語言編譯生成的.obj文件解釋下?
c語言編譯生成的.obj文件是一種文本文件,程序編譯時生成的中間代碼文件目標文件,一般是程序編譯后的二進制文件,再通過鏈接器和資源文件鏈接就成可執(zhí)行文件了。OBJ只給出了程序的相對地址,而可執(zhí)行文件是絕對地址。obj文件基本結(jié)構(gòu):OBJ文件不需要任何種文件頭(File Header),盡管經(jīng)常使用幾行文件信息的注釋作為文件的開頭。OBJ文件由一行行文本組成,注釋行以符號“#”為開頭,空格和空行可以隨意加到文件中以增加文件的可讀性。有字的行都由一兩個標記字母也就是關(guān)鍵字(Keyword)開頭,關(guān)鍵字可以說明這一行是什么樣的數(shù)據(jù)。擴展資料:C編譯的整個過程很復雜,大致可以分為以下階段: 1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字符的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內(nèi)容不同的文件。 2、編譯、優(yōu)化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉(zhuǎn)換為匯編語言。優(yōu)化包括對中間代碼的優(yōu)化,如刪除公共表達式,循環(huán)優(yōu)化等;和對目標代碼的生成進行的優(yōu)化,如如何充分利用機器的寄存器存放有關(guān)變量的值,以減少內(nèi)存訪問次數(shù)。 3、匯編階段將匯編語言翻譯成機器指令。
c語言源程序文件名的后綴?
C語言源程序名的后綴C語言源程序后綴為.c?。在windows平臺上編譯后的后綴為.obj?,?連接后的后綴為.exe。在Linux平臺上,預處理后的文件擴展名一般為.i,?C語言編譯器編譯后的文件擴展名-般為.S?,是一個匯編代碼文件,匯編器編譯后的文件擴展-?-般為.o?,鏈接器生成的可執(zhí)行文件默認為.out