參考網址:1 http://hi.baidu.com/zengzhaonong/item/f1f9383565fa5c302e0f8125 gcc使用方法 匯總
2 http://s99f.blog.163.com/blog/static/35118365201311261453629/ gcc參數區別
3 http://blog.csdn.net/ruglcc/article/details/7814546 makefile教程
剛接觸linux下的C編程.以前做項目時,接觸過系統分層,不過最近發現,c程序也是,尤其是在編寫大型項目時,也分為三層:控制層 界面層 模塊層 .
然後在編譯時,需要使用makefile,進行編譯.此時又重新看了看gcc編譯 和Makefile .在參閱其他人的Makefile時,發現一些細節.
1 gcc的 -I -L -l -r -E -S -o -O -Wall -c -m -g 的詳細說明: - I (大寫字母 i ) 將指定目錄作為第一個尋找頭文件的目錄
-L 將指定目錄作為第一個尋找庫文件的目錄
-l (小寫l)將指定目錄作為第一個尋找動態鏈接庫文件的目錄
-E 將.c文件預處理為.i文件
-S 將.i文件編譯成.s文件
-o 將.s文件
-O 對程序進行優化編譯、鏈接,采用這個選項,整個源代碼會在編譯、鏈接過程中進行優化處理,這樣產生的可執行文件的執行效率可以提高,但是,編譯、鏈接的 速度就相應地要慢一些。
-Wall 顯示編譯時所有打警告信息
-c 只編譯,不鏈接成為可執行文件,編譯器只是由輸入的.c等源代碼文件生成.o為後綴的目標文件,通常用於編譯不包含主程序的子程序文件。
-g 產生符號調試工具(GNU的gdb)所必要的符號資訊,要想對源代碼進行調試,我們就必須加入這個選項。