gcc 常用參數
-S C => Assembly
-c 只編譯成o檔,不連結
-Wall 顯示警告訊息
-static 靜態連結 Library
-I 引用外部 Header 檔的目錄(include) (-lhello libhello.so)
-L 引用外部 Library 檔的目錄
-lm cos()等函數才需要
-O0 停用程式碼優化,預設O1
-g 產生debug用的訊息
#ifdef DEBUG
...
#endif
連接 Header 優先順序的路徑(include)
1. gcc -I <Path>
2. C_INCLUDE_PATH 環境變數指定的目錄
3. 找 /usr/include /usr/local/include
連結靜態 Library 優先順序的路徑
1. gcc -L <Path>
2. 找 LIBRARY_PATH 環境變數指定的目錄
3. 找 /lib /usr/lib /usr/local/lib
連結動態 Library 優先順序的路徑
1. gcc xxx.so file.c
2. 找 LD_LIBRARY_PATH 環境變數指定的目錄
3. 找 /etc/ld.so.conf 設定檔中指定的路徑
4. 找 /lib /usr/lib
參考網址: http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html