cl.exeの主要コマンドラインオプションメモ

2009年5月8日 18:09

 最近、Visual C++をいじっているのでメモ。昔はVisual StudioでGUIでビルド設定してましたが、最近はもうmakeを使う方になれちゃったんだよね……。

cl.exeのコマンドラインスイッチ
スイッチ 意味
最適化
/O1 コードを最小化
/O2 コードを最速化
/Ob{0|1|2} インライン展開方法を指定
/Od 最適化を禁止
/Oi 組み込み関数を使用
/Ox 最大限の最適化
/GL プログラム全体の最適化を使用
/arch:{SSE|SSE2} SSE/SSE2を使用
作成するコード
/MD DLL版ランタイムライブラリを使用。/MDdとするとデバッグバージョンを作成
/MT スタティック版ランタイムライブラリを使用。/MTdとするとデバッグバージョンを作成
/LD DLLを作成。/LDdとするとデバッグバージョンを作成
/Fe<ファイル名> 出力するEXEファイル名を指定
/Fo<ファイル名> objファイルを出力する
/Zi デバッグ情報を生成
そのほか
/D<シンボル> シンボルを定義(#defineと同等)。値を指定する場合は/D<シンボル>=<値>とする
/I<パス> 追加インクルードディレクトリを指定
/X 標準インクルードパスを無視
/w ワーニング出力を無効にする
/Wall すべてのワーニング出力を有効にする
/link リンカにオプションを渡す
link.exeのコマンドラインスイッチ
スイッチ 意味
/DEBUG デバッグ情報(PDBファイル)を作成
/DEF:<ファイル名> モジュール定義ファイルを指定
/DLL DLLを作成
/EXPORT:entryname[,@ordinal[,NONAME]][,DATA] エクスポートする関数を指定
/LIBPATH:<パス> 追加のライブラリパスを指定
/LTCG リンク時のコード生成を有効化。/GLを指定してコンパイルしたオブジェクトファイルのリンクに必要