㈠ unix 網路編程源碼按照README make 執行後生成了.o 的文件,之後如何運行這些文件呢
簡單來說,c語言是編譯語言,所有源代碼都需要編譯後才能形成可執行文件
編譯語言第一步,是把源代碼.c文件編譯成目標文件.o,目標文件時中間文件,不能夠執行。這步主要是驗證每個單獨的.c文件,是否在自己內部有語法錯誤,然後再通過鏈接(即link),把目標文件串起來,形成可執行文件(默認.out後綴)。
㈡ linux中,運行一個C語言程序如何運行
在Linux中,可以使用gcc編譯器編譯C語言程序,生成可執行文件,並最終執行。
具體步驟如下:
1、編譯。
由.c文件生成.o文件,寫作:
gcc a.c -o a.o -c這個命令可以將a.c編譯成a.o。
如果存在多個文件,可以逐個編譯,即a.c
b.c...
生成a.o
b.o...等。
2、鏈接。
由.o文件生成可執行文件,寫作:
gcc a.o b.o c.o -o a.out這個命令將a.o
b.o
c.o三個目標文件,生成可執行文件a.out。
3、執行。
調用命令:
./a.out即可執行生成的可執行文件a.out。
4、注意事項:
(1)
當文件較少時,可以省略目標文件步驟,編譯鏈接一步執行,如:
gcc a.c b.c c.c -o a.out(2)
提供的示例為最基礎的編譯功能,在實際應用中gcc有很豐富的編譯選項,根據需求進行添加。
(3)
當項目包含文件較多時,可以使用makefile進行管理。
㈢ 後產生的.O文件怎麼執行
工程很大的話,會有很多源文件。如果每次不是生成一堆obj文件,而是直接生成一個可執行文件,那麼你只要改動了其中一個源文件之後編譯,所有的源文件都需要重新編譯;但是現在是每個源文件生成一個obj文件,上面的情況只需要編譯修改過的那一個源文件生成新的相應的一個obj,然後重新鏈接即可。這種差別在大工程上是很明顯的,我接觸過的項目中重新編譯有需要接近半小時的,你能忍受你改了一句代碼後再編譯半小時才能看到運行得對不對么。
㈣ linux下多個.o文件如何鏈接生成可執行程序
方法和詳細的操作步驟如下:
1、第一步,找到需要打開的.o後綴文件,見下圖,轉到下面的步驟。
㈤ 請問:c語言編譯成功後生成後綴名為.o的文件,什麼東東,什麼作用。
是編譯成功後的文件。
以hello.c為例:
先將源文件編譯成目標文件:gcc - c hello.c。生成hello.o文件,再將目標文件編譯成可執行文件:gcc -o hello hello.o
這樣就生成了可執行文件,在./hello就可以運行hello了。