GCC命令
GCC命令
@(嵌入式工具環境)
文章目錄
- GCC命令
- GCC簡介
- GCC命令的常用選項
- 預處理
- 編譯為匯編代碼
- 匯編
- 鏈接
GCC簡介
GCC 的意思也只是 GNU C Compiler 而已。經過了這么多年的發展,GCC 已經不僅僅能支持 C 語言;它現在還支持 Ada 語言、C++ 語言、Java 語言、Objective C 語言、Pascal 語言、COBOL語言,以及支持函數式編程和邏輯編程的 Mercury 語言,等等。而 GCC 也不再單只是 GNU C 語言編譯器的意思了,而是變成了 GNU Compiler Collection 也即是 GNU 編譯器家族的意思了。另一方面,說到 GCC 對于操作系統平臺及硬件平臺支持,概括起來就是一句話:無所不在。
GCC在工作時,總共分為四個階段
- 預處理(也稱預編譯,Preprocessing)
- 編譯(Compilation)
- 匯編(Assembly)
- 鏈接(Linking)
GCC 簡單使用
gcc text.c默認會生成一個a.out的可執行文件
GCC命令的常用選項
預處理
gcc -E text.c或者gcc -E text.c -o text.i
前者直接在命令行窗口直接輸出預處理代碼,后者會在當前目錄下生成 text.i的預處理文件,gcc的-E選項,可以讓編譯器在預處理后停止,并輸出預處理結果。在本例中,預處理結果就是將stdio.h 文件中的內容插入到test.c中了。注意 選項是區分大小寫
編譯為匯編代碼
gcc -S test.i -o test.s
預處理之后,可直接對生成的test.i文件編譯,生成匯編代碼;
gcc的-S選項,表示在程序編譯期間,在生成匯編代碼后,停止,-o輸出匯編代碼文件。
匯編
gcc -c test.s -o test.o
生成的匯編代碼文件test.s,gas匯編器負責將其編譯為目標文件
鏈接
gcc test.o -o test
gcc連接器是gas提供的,負責將程序的目標文件與所需的所有附加的目標文件連接起來,最終生成可執行文件。附加的目標文件包括靜態連接庫和動態連接庫。
總結
- 上一篇: Zabbix-agent监控客户端
- 下一篇: 艾德克斯充电测试软件_艾德克斯直流充电桩