c語言-gcc 參數
## -c 只生成 obj 檔,並沒有產生執行檔。 例:gcc -c hello.c ## -o 生成執行檔,file name 沒指定時,預設檔名為 a.out。 例:gcc -o hello hello.c ## -llibrary 設定 link 時需便用的 library。 例:gcc -o hello -lhell hello.c,需要的 library 為 libhello.a。 ## -Ldir 設定 link 時,查找 library 的路徑。 例:gcc -o hello -lhell -L. hello.c,會在源碼目錄內找尋 libhello.a 。 ## -Idir 設定 compile 時,查找 include 的路徑。 例:gcc -o hello -I. hello.c,會在源碼目錄內找尋 include 檔 。 ## -I- 取消前面所有 -Idir 的設定。 ## -g 在執行檔中,加入 debug 訊息。 ## -traditional 試圖讓編譯器支援傳統的C語言特性。 ## -static 禁止使用動態 library。 ## -share 儘量使用動態 library。 ## 聯結數個 object 成可執行檔。 例:gcc test1.o test2.o -o test 將 'test1.o'、'test2.o' 和程式庫聯結後成為可執行檔 test。 =========== 最佳化參數 ================ ## -O0 不作最佳化;然而若是之前有指定其它 LEVEL 的參數,將不會受到本參數的影響。 ## -O1 初步最佳化,作最佳化的編譯當然會花費更多的時間和記憶體;未使用本參數前 GCC編譯的原則是減少編譯成本,而且各個階段的編連是各自獨立的--可以在任一階段停下來,重新指定變數內容,且各階段的結果和一般的狀況相同,完全符合正常的程序,然而本參數會以整體四個階段一起考慮,且本參數包含許多其它參數,目的就是要減少程式大小及執行時間;使用本參數同時會將-fthread-jumps和-fdelayed-branch開啟。 ## -O2 更進一步最佳化,本參數可直接使用不需配合上一個參...