當前位置:首頁 » 編程軟體 » gcc編譯生成o程序

gcc編譯生成o程序

發布時間: 2024-09-02 08:57:45

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

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

2. linux gcc編譯好C文件後生成.o目標文件,但是在執行中($./test)出現沒有那個文件或目錄,請大神幫忙。

.o文件是不能被執行的, c的源碼要經過編譯和鏈接才能生成可執行文件,你只是編譯了,沒有鏈接,這個文件相當於Windows下的test.obj而已。gcc -Wall test.c -o test

3. gcc-c和-o有什麼區別

-c和-o都是gcc編譯器的可選參數。

-c表示只編譯(compile)源文件但不鏈接,會把.c或.cc的c源程序編譯成目標文件,一般是.o文件。-o用於指定輸出(out)文件名。不用-o的話,一般會在當前文件夾下生成默認的a.out文件作為可執行程序。

例如:

gcc -c test.c將生成test.o的目標文件

gcc -o app test.c將生成可執行程序app

gcc -c a.c -o a.o表示把源文件a.c編譯成指定文件名a.o的中間目標文件(其實在這里,把-o a.o省掉,效果是一樣的,因為中間文件默認與源文件同名,只是後綴變化)。

1、如果GCC不帶-C參數,編譯一個源代碼文件(test.c)。那麼會自動將編譯和鏈接一步完成,並生成可執行文件。可執行文件可以有-o參數指定(test.o)

2、如果是多個文件,則需要先編譯成中間目標文件(一般是.o文件),在鏈接成可執行文件,一般習慣目標文件都是以.o後綴,也沒有硬性規定可執行文件不能用.o文件。

(3)gcc編譯生成o程序擴展閱讀:

gcc:GNU編譯器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go語言的前端,也包括了這些語言的庫(如libstdc++、libgcj等等)。GCC的初衷是為GNU操作系統專門編寫的一款編譯器。GNU系統是徹底的自由軟體。此處,「自由」的含義是它尊重用戶的自由。

基本用法:

-o output_filename,確定輸出文件的名稱為output_filename,同時這個名稱不能和源文件同名。如果不給出這個選項,gcc就給出預設的可執行文件a.out。

-O,對程序進行優化編譯、鏈接,採用這個選項,整個源代碼會在編譯、鏈接過程中進行優化處理,這樣產生的可執行文件的執行效率可以提高,但是,編譯、鏈接的速度就相應地要慢一些。

4. linux下能生成兩種.o的文件 一個是我用gcc編譯生成的 另一個是makefile生成的,這倆一樣么

一樣的,makefile只是一個腳本,它實際調用的是gcc。

但你這里用「gcc -o helloword.o helloworld.c」調用的是linux(x86的)的標准gcc,而你的makefile腳本中的gcc版本是arm_v5t_le-gcc(是用在arm嵌入式處理器的)。兩個處理器不一樣,自然編譯出的helloworld.o不一樣,前者只能在x86電腦上運行,後者只能在arm嵌入式處理機中運行。

你把makefile中的「CC=arm_v5t_le-gcc」改成「CC=gcc」然後再make,之後肯定能運行。

5. gcc怎麼編譯.o

gcc中-c和-o是編譯時可選的參數
-加-c, (compile)只編譯生成中間同名目標文件,不鏈接
-加-o,(output)指定輸出文件名,該文件為可執行文件,不加-o會默認生成a.out
舉例:
gcc -c hello.c 編譯生成hello.o文件
gcc -o hello hello.c 生成可執行文件hello

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

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

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

熱點內容
oracle存儲過程游標實例 發布:2024-11-25 05:40:32 瀏覽:803
xpsql2000 發布:2024-11-25 05:20:20 瀏覽:371
如何設置安卓上拉菜單 發布:2024-11-25 05:20:12 瀏覽:4
為什麼安卓手機做不出透明相框 發布:2024-11-25 05:13:52 瀏覽:491
間接結演算法 發布:2024-11-25 05:12:08 瀏覽:759
java咖啡機 發布:2024-11-25 05:12:05 瀏覽:489
小白主機怎麼配置 發布:2024-11-25 05:10:33 瀏覽:144
automator腳本 發布:2024-11-25 04:41:18 瀏覽:310
敲背面截圖怎麼弄安卓 發布:2024-11-25 04:39:18 瀏覽:809
安卓機關機如何設置快捷方式 發布:2024-11-25 04:16:02 瀏覽:636