Ubuntu系統下gcc編譯過程

1,預處理階段(預編譯)

gcc -E test.c -o test.i

(其中-o file輸出到指定文件file)

2,編譯階段

gcc -S test.i -o test.s

(test.s就是生成的彙編語言文件)

3,彙編

gcc -c test.s -o test.o

(test.o爲目標程序)

4,連接

gcc test.o -o test

(可執行文件test)

在這裏插入圖片描述

小結:也可以直接完成,編譯連接過程

gcc test.c -o test

5,關於優化
time命令可以查看運行時間
其中,real爲程序總的執行時間,包括進程的調度,切換等時間
user:用那個花執行時間
sys:內核執行時間
在這裏插入圖片描述
優化參數選項:
-O0不進行優化
-O1基本優化,使執行程序變得更快
-O2在O1基礎之上進一步優化,如處理器指令調度
-O3開啓所有優化
-Os生成最小可執行文件,主要用於嵌入式領域。

6,關於編譯告警和出錯選項。
-ansi 支持符合ANSI標準的C程序
-pedantic 允許發出ANSI C標準所列的全部警告信息
-w 關閉所有告警
-Wall 允許發出gcc提供的所有有用的告警信息
-werror 把所有的告警信息轉化成錯誤信息,並在告警發生時終止編譯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章