gcc / g++ 編譯選項

g++ -Wall -m64 -W -O2 a.cpp b.cpp -o ahtml

用下面的命令編譯,生成libtriangle.so  先生成動態庫linux

g++ -g -fpic -shared -o libtriangle.so triangle.cpp polygon.cppweb

g++  -Wall -m64 -W -O2 -fpic -shared -o Gy8583ISO.so Gy8583ISO.cpp   //-g優化

http://hi.baidu.com/ablenavy/item/b498901c6826bbf587ad4e33spa

 

-c.net

  生成obj的.o文件,不生成可執行文件unix

  只預處理,編譯和彙編,不連接。調試

  例子:orm

  gcc -c hello.cpphtm

  他將生成.o的obj文件

  -g

  編譯時,產生調試信息能夠用於gdb

  -o

  生成可執行文件,指定可執行文件名。若是沒有,默認爲a.out

  例子:

  g++ -o hello hello.cpp

  -Wall

  顯示全部的Warning

  -pg

  能夠生成gprof調試的文件

  -Dmacro

  至關於C語言中的#define macro

  -Dmacro=defn

  至關於C語言中的#define macro=defn

  -Umacro

  至關於C語言中的#undef macro

  -undef

  取消對任何非標準宏的定義

  -IDir

  增長編譯時搜尋頭文件的路徑

  -llibrary

  指定編譯的時候使用的庫

  例子:

  gcc -lcurses hello.c

  使用ncurses庫編譯程序

  -Ldir

  增長編譯時搜索庫的路徑。

  -M

  生成文件關聯的信息。包含目標文件所依賴的全部源代碼。

  例子:

  g++ -M hello.cpp

  -MM

  和上面的那個相似,可是忽略由#include<file>形成的依賴關係。

  -Olevel

  編譯器優化級別。-O0表示沒有優化,-O3優化級別最高

  -static

  此選項將禁止使用動態庫,因此,編譯出來的東西,通常都很大,也不須要什麼動態鏈接庫,就能夠運行.

  -shared

  此選項將盡可能使用動態庫,因此生成文件比較小,可是須要系統由動態庫。

http://doc.chinaunix.net/linux/201004/485583.shtml

相關文章
相關標籤/搜索