プリプロセッサのみ
g++ -E hoge.cpp
→(ダイレクトにコンソール出力)
アセンブラのみ
g++ -s hoge.cpp
→ hoge.s に出力
コンパイルのみ
g++ -c hoge.cpp
→ バイナリ hoge.o を出力
リンク
g++ (-o a.out) hoge.o hage.o
→ 実行形式 a.out を出力
コンパイル時に付けるもの
インクルードファイルのパス
-I/usr/local/include とか
これがなくても、直接ソースファイルのほうにパスが指定してあればおk
> #include "../hoge/hage.hpp"
むしろ、こうしなくていいようにするための機能が -I
警告
-Wall 全ての警告を表示
最適化
-O3 ≧ -O2 > -O1
-ffast-math
-funroll-loops # Unrolling loops = ループを展開
-fno-common
-march=nocona # Pentium4
march,mtuneについて
マクロ定義・消去
-D/U
g++ -DHOGE=10 hoge.cpp
g++ -DYEAR=`date +%Y` year.cpp ← シェルから値をもらうこともできる。
g++ -UHAGE hage.cpp
リンク時に付けるもの
ライブラリのパス
-L/usr/local/lib とか
ダイナミックリンク
-lgsl とか。独自のライブラリだったら -L で同時にディレクトリも指定
最終更新:2010年05月28日 21:57