Linxu终端gcc与gcc -c的区别
生活随笔
收集整理的這篇文章主要介紹了
Linxu终端gcc与gcc -c的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
gcc的更多用法詳見下鏈接:? ? ?
GCC 參數詳解 | 菜鳥教程gcc 與 g++ 分別是 gnu 的 c & c++ 編譯器 gcc/g++ 在執行編譯工作的時候,總共需要4步: 1、預處理,生成 .i 的文件[預處理器cpp] 2、將預處理后的文件轉換成匯編語言, 生成文件 .s [編譯器egcs] 3、有匯編變為目標代碼(機器代碼)生成 .o 的文件[匯編器as] 4、連接目標代碼, 生成可執行程序 [鏈接器ld] 參數詳解 -x language filename 設定..https://www.runoob.com/w3cnote/gcc-parameter-detail.html
就以main.c為例:
?? ? gcc main.c就是對main.c進行預處理,編譯以及鏈接 最后形成可執行文件,直接"./"執行就好了
? ? ?gcc? -c main.c就是對main.c進行預處理,編譯,不進行鏈接,最后生成目標文件,main.o
main.o文件到可執行文件需要gcc? -o? main? main.o(不加-o的話 默認輸出會是a.out)
順帶說一下? 為什么不能直接運行main.o 呢,看下圖
?
總結
以上是生活随笔為你收集整理的Linxu终端gcc与gcc -c的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台字开头的成语有哪些啊?
- 下一篇: 宏定义来实现一个结构体成员相对于该结构体