您好,登錄后才能下訂單哦!
Linux系統的Gcc命令指的是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Linux系統下的Gcc(GNU C Compiler)是GNU推出的功能強大、性能優越的多平臺編譯器,是GNU的代表作品之一。
gcc是可以在多種硬體平臺上編譯出可執行程序的超級編譯器,其執行效率與一般的編譯器相比平均效率要高20%~30%。
Gcc編譯器能將C、C++語言源程序、匯程式化序和目標程序編譯、連接成可執行文件,如果沒有給出可執行文件的名字,gcc將生成一個名為a.out的文件。
在Linux系統中,可執行文件沒有統一的后綴,系統從文件的屬性來區分可執行文件和不可執行文件。
-E:僅作預處理,不進行編譯、匯編和鏈接
-S:僅編譯到匯編語言,不進行匯編和鏈接
-c:編譯、匯編到目標代碼(也就是計算機可識別的二進制)
-o:執行命令后文件的命名
-g:生成調試信息
-w:不生成任何警告
-Wall:生成所有的警告
預處理:gcc -E Test.c -o Test.i
編譯: gcc -S Test.i -o Test.s
匯編: gcc -c Test.s -o Test.o
鏈接生成可執行文件: gcc Test.o -o Test
1. 先創建一個Test.c文件
2.逐步編譯
①預處理:
此時我們發現目錄中已經出現了我們創建的Test.i文件,不妨cat進去看一下里面都有什么吧:
由此我們發現:gcc的-E選項,可以讓編譯器在預處理后停止,并輸出預處理結果。
在此程序中中,預處理結果就是將stdio.h 文件中的內容插入到Test.c中了。
②編譯:
gcc的-S選項,表示在程序編譯期間,將我們的代碼編譯成匯編語言。
③匯編:
gcc的-c選項,表示由匯編器負責將剛才的.s文件編譯為目標文件,即計算機所能識別的序列。
④鏈接生成可執行文件:
將剛才的Test.o文件與C標準輸入輸出庫進行連接,最終生成程序Test可執行文件。
3.運行程序
這里我們就完成了從最開始的代碼,到最終可執行文件的整個過程。
Linux的版本有:Deepin、UbuntuKylin、Manjaro、LinuxMint、Ubuntu等版本。其中Deepin是國內發展最好的Linux發行版之一;UbuntuKylin是基于Ubuntu的衍生發行版;Manjaro是基于Arch的Linux發行版;LinuxMint默認的Cinnamon桌面類似Windows XP簡單易用;Ubuntu則是以桌面應用為主的Linux操作系統。
看完上述內容,你們掌握Linux系統的Gcc命令指的是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。