導航:首頁 > 源碼編譯 > 編譯產生的d文件o文件是什麼

編譯產生的d文件o文件是什麼

發布時間:2022-06-16 23:38:37

A. 為什麼makefile生成不是.o文件而是生成的.d文件呢,怎麼解決

.d 是中間文件,是正常的啊,同時也會生成.o 或者 .opp 才對

B. C語言程序編譯後產生哪些類型的文件這些文件的作用是什麼

1、以GCC編譯器為例,可以分為四步。
第一步是預處理,包括語法檢查等工作。
gcc
-P
abc.c
第二步由源程序生產匯編語言代碼。
gcc
-S
abc.c
會生成abc.s文件,這個文件里就是匯編代碼。
第三步編譯器生成目標代碼,一個源文件生成一個目標代碼。
gcc
-c
abc.c
會生成abc.o
第四步連接器從目標代碼生成可執行文件。
gcc
abc.o
2、目標代碼包括機器碼和符號表(函數及變數名)。連接器的主要作用是通過符號表在庫文件和其他模塊中找到在目標代碼中引入或未定義的符號(函數及變數名),將幾個目標代碼合成可執行文件。

C. *.o文件是什麼文件

.o文件就是對象文件,是可重定向文件的一種,通常以ELF格式保存,裡麵包含了對各個函數的入口標記,描述,當程序要執行時還需要鏈接(link).鏈接就是把多個.o文件鏈成一個可執行文件。

在win平台下,用來鏈接的重定向文件也可為PE格式的.obj文件

當多種編程語言希望混合編譯時,就可以通過分別編譯成.o文件,再鏈接(link)成可執行文件。

(3)編譯產生的d文件o文件是什麼擴展閱讀:

以 Code::Blocks ,win系統為例,我們每次寫好一段程序,構建並運行以後都會在存儲該程序的文件夾里自動生成一個 *.o 文件和一個*.exe 文件。

而後者是可以直接運行的(雙擊即可打開)。當我們寫好了一個大的程序的各個部分以後,就可將所有的*.o 文件鏈接成一個可執行文件。

D. 編譯完成之後得到的.o文件,為什麼叫可重定位目標文件

c語言編譯.c和.cpp文件為.o文件,是將所有的.c和.cpp文件都生成.o文件。再把所有的.o文件鏈接成為可執行程序。而每一個.o目標文件對應不同的源文件,所以叫可重定位目標文件。

E. 安卓編譯內核生成的是o文件嗎,然後再打包進boot.img

.o是中間文件,.ko是內核模塊
kernel是一個可執行的bzImage,簡單來講就是由.o鏈接生成的目標文件,不是像你說的那樣n多.o
.ko可以編譯進內核,也可以不編譯進內核,作為插件的形式存在
安裝內核的意思就是把內核到啟動分區,然後安裝內核模塊,以及一些其他的東西。。
每次開機直接把內核裝載到內存裡面去不就行了嗎,這也得先安裝才行不是。

F. linux下 為什麼要生成.o文件 .o文件和.c文件還有生成的可執行文件有啥區別啊

linux下.c只是簡單的文本文件,.o是編譯之後的二進制文件,操作方法如下;

1、首先在電腦中打開linux,然後安裝gcc g++編譯工具。

G. 程序編譯後形成的文件是什麼

玩c++建議去linux下玩,首先要搞明白編譯的是使用哪個編譯器,編譯的過程是怎麼樣。寫寫幾個Makefile就知道了。先直接用命令行操作,然後用集成的IDE來寫代碼。
對於編譯過程,總體上是這樣,源代碼(*.h,*.cpp/c)經過預編譯,編譯,生成目標文件(Windows下應該是.obj文件,Linux/unix下是.o文件),然後通過鏈接(將各種目標文件.obj(.o) 和 目標文件的集合(動態靜態庫dll(windows下),so(linux/unix下))),最終成功可執行文件(Windows下叫exe,Linux/unix下隨便以什麼結尾了)。

H. 請問:c語言編譯成功後生成後綴名為.o的文件,什麼東東,什麼作用。

是編譯成功後的文件。
以hello.c為例:
先將源文件編譯成目標文件:gcc - c hello.c。生成hello.o文件,再將目標文件編譯成可執行文件:gcc -o hello hello.o
這樣就生成了可執行文件,在./hello就可以運行hello了。

I. .o是什麼文件

你好,.o文件又稱對象文件,是可執行文件。
.o文件就是對象文件,是可重定向文件的一種,通常以ELF格式保存,裡麵包含了對各個函數的入口標記,描述,當程序要執行時還需要鏈接(link).鏈接就是把多個.o文件鏈成一個可執行文件。
在win平台下,用來鏈接的重定向文件也可為PE格式的.obj文件
當多種編程語言希望混合編譯時,就可以通過分別編譯成.o文件,再鏈接(link)成可執行文件。
以 Code::Blocks ,win系統為例,我們每次寫好一段程序,構建並運行以後都會在存儲該程序的文件夾里自動生成一個 *.o 文件和一個*.exe 文件,而後者是可以直接運行的(雙擊即可打開)。當我們寫好了一個大的程序的各個部分以後,就可將所有的*.o 文件鏈接成一個可執行文件。
望採納!

J. 你知道不知道MDK編譯生成的後輟為.o的文件是什麼文件啊,起什麼作用呢我也是剛開始學的,多交流啊,呵呵

.o文件就是對象文件,裡麵包含的內容就是01這樣的機器可執行的指令,當程序要執行時還需要進行鏈接(link).鏈接就是把多個.o文件鏈成一個可執行文件。
說白了 就是編譯後 你用JLINK下載的進去的機器指令碼的感覺 我是這么理解的 呵呵
類似HEX文件 希望能幫到你

閱讀全文

與編譯產生的d文件o文件是什麼相關的資料

熱點內容
可愛的程序員陸漓劇照 瀏覽:850
怎樣把截屏壓縮成300kb 瀏覽:224
dart文件加密 瀏覽:39
java對接攝像頭源碼 瀏覽:885
安卓項目開發實例附源碼 瀏覽:728
程序員蘋果全家桶 瀏覽:197
遠程命令阻塞 瀏覽:730
有網頁源碼怎麼查數據 瀏覽:99
win10下make編譯速度過慢 瀏覽:865
微機原理編譯環境 瀏覽:17
怎麼把圖紙轉換成pdf 瀏覽:539
安卓libcurl編譯64 瀏覽:904
手機app怎麼測速 瀏覽:275
中興gpon命令 瀏覽:885
python中取出字典key值 瀏覽:682
Linux目錄inode 瀏覽:147
手機上如何用文件夾發郵件 瀏覽:429
暢課app密碼忘了怎麼找回 瀏覽:79
怎麼編譯idea 瀏覽:231
如何查看伺服器是否做了熱備 瀏覽:1001