詳細介紹Linux GCC系統靜態鏈接
在向大家詳細介紹Linux GCC之前,首先讓大家了解下GCC,然后全面介紹Linux GCC,希望對大家有用。Linux是由開發工具軟件、編輯器軟件、CPU圖形用戶界面、網絡工具軟件等組成的一個完整的軟件包。Linux GCC下的庫文件在命名時有一個約定,那就是應該以lib三個字母開頭,由于所有的庫文件都遵循了同樣的規范,因此在用-l選項指定鏈接的庫文件名時可以省去lib三個字母。
也就是說Linux GCC在對-lfoo進行處理時,會自動去鏈接名為libfoo.so的文件。
-static選項,強制使用靜態鏈接庫
如果在/home/xiaowp/lib/目錄下有鏈接時所需要的庫文件libfoo.so和libfoo.a 為了讓Linux GCC在鏈接時只用到靜態鏈接庫,可以使用下面的命令:
cc -o test test.c -L /home/xiaowp/lib -static -lfoo
選項-O可以告訴Linux GCC同時減小代碼的長度和執行時間,其效果等價于-O1。
在這一級別上能夠進行的優化類型雖然取決于目標處理器,但一般都會包括線程跳轉(Thread Jump)和延遲退棧(Deferred Stack Pops)兩種優化。
選項-O2告訴Linux GCC除了完成所有-O1級別的優化之外,同時還要進行一些額外的調整工作,如處理器指令調度等。
選項-O3則除了完成所有-O2級別的優化之外,還包括循環展開和其它一些與處理器特性相關的優化工作。
通常來說,數字越大優化的等級越高,同時也就意味著程序的運行速度越快。以上是Linux GCC系統命令。
【編輯推薦】