CC命令

轉載自:http://blog.csdn.net/max2008/article/details/2584556

多數UNIX平臺都通過CC調用它們的C編譯程序.除標準和CC以外,LINUX和FREEBSD還支持gcc. 基本的編譯命令有以下幾種:    

1.  -c     編譯產生對象文件(*.obj)而不鏈接成可執行文件,當編譯幾個獨立的模塊,而待以後由鏈接程序把它們鏈接在一起時,就可以使用這個選項,如:              $cc -c hello.c ===> hello.o              $cc hello.o     

2.  -o     允許用戶指定輸出文件名,如             $cc hello.c -o hello.o             or             $cc hello.c -o hello     

3.  -g    指明編譯程序在編譯的輸出中應產生調試信息.這個調試信息使源代碼和變量名引用在調試程序中或者當程序異常退出後在分析core文件時可被使用.   

 4.   -D   允許從編譯程序命令行定義宏符號         一共有兩種情況:一種是用-DMACRO,相當於在程序中使用#define MACRO,另一種是用-DMACRO=A,相當於程序中的#define MACRO A.如對下面這代碼:           #ifdefine DEBUG                     printf("debug message/n");          #endif        編譯時可加上-DDEBUG參數,執行程序則打印出編譯信息    

5.   -I   可指定查找include文件的其他位置.例如,如果有些include文件位於比較特殊的地方,比如/usr/local/include,就可以增加此選項如下:         $cc -c -I/usr/local/include -I/opt/include hello.c 此時目錄搜索會按給出的次序進行.  

 6. -E   這個選項是相對標準的,它允許修改命令行以使編譯程序把預先處理的C文件發到標準輸出,而不實際編譯代碼.在查看C預處理僞指令和C宏時,這是很有用的.可能的編譯輸出可重新定向到一個文件,然後用編輯程序來分析:       $cc -c -E hello.c >cpp.out       此命令使include文件和程序被預先處理並重定向到文件cpp.out.以後可以用編輯程序或者分頁命令分析這個文件,並確定最終的C語言代碼看起來如何.   

7. -o   優化選項,     這個選項不是標準的           -O和 -O1指定1級優化          -O2 指定2級優化         -O3 指定3級優化         -O0指定不優化       $cc -c O3 -O0 hello.c  當出現多個優化時,以最後一個爲準!!    

8. -Wall  以最高級別使用GNU編譯程序,專門用於顯示警告用!!       $gcc -Wall hello.c    9.   -L指定連接庫的搜索目錄,-l(小寫L)指定連接庫的名字       $gcc main.o -L/usr/lib -lqt -o hello      上面的命令把目標文件main.o與庫qt相連接,連接時會到/usr/lib查找這個庫文件.也就是說-L與-l一般要成對出現.

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