!!!Microsoft Visual C++ 6.0 コマンドライン オプション {{category Data,nolink}}VC6のコマンドラインのオプション一覧です。開発環境でも任意で指定できたはず(それぞれの設定画面はありますが)。 !!!最適化オプション ,オプション ,目的 ,/O1 ,コードを最小化します。 ,/O2 ,コードを最速化します。 ,/Oa ,エイリアスを使用しないと仮定します。 ,/Ob ,関数のインライン展開を制御します。 ,/Od ,最適化を無効にします。 ,/Og ,グローバル最適化を使用します。 ,/Oi ,組み込み関数を生成します。 ,/Op ,浮動小数点演算の一貫性を向上させます。 ,/Os ,実行可能ファイルで、サイズの小ささを優先させます。 ,/Ot ,実行可能ファイルで、実行速度を優先させます。 ,/Ow ,関数呼び出しでエイリアスを使用すると仮定します。 ,/Ox ,最大限の最適化 (/Ob2 〜 /Gs) を行います。 ,/Oy ,フレーム ポインタを省きます。 !!!コード生成オプション ,オプション ,目的 ,/arch ,コード生成で SSE または SSE2 命令を使用します。 ,/clr ,C++ マネージ拡張を有効にし、共通言語ランタイムで実行する出力ファイルを生成します。 ,/EH ,例外処理のモデルを指定します。 ,/G3 ,386 プロセッサ用にコードを最適化します。このオプションは Visual C++ 5.0 では使用されなくなったため、コンパイラに無視されます。 ,/G4 ,486 プロセッサ用にコードを最適化します。このオプションは Visual C++ 5.0 では使用されなくなったため、コンパイラに無視されます。 ,/G5 ,Pentium 用にコードを最適化します。 ,/G6 ,Pentium Pro、Pentium II、および Pentium III プロセッサ用にコードを最適化します。 ,/G7 ,Pentium 4 または Athlon 用にコードを最適化します。 ,/GB ,/G6 と同じです。_M_IX86 の値に 600 を設定します。 ,/Gd ,__cdecl 呼び出し規約を使用します。 ,/Ge /GF ,スタック プローブをアクティブにします。 ,/Gf ,文字列プールを有効にします。 ,/Gh ,フック関数 _penter を呼び出します。 ,/GH ,フック関数 _pexit を呼び出します。 ,/GL ,プログラム全体の最適化を有効にします。 ,/Gm ,簡易リビルドを有効にします。 ,/GR ,ランタイム型情報 (RTTI: Run-Time Type Information) を有効にします。 ,/Gr ,__fastcall 呼び出し規約を使用します。 ,/Gs ,スタック プローブを制御します。 ,/GT ,静的スレッド ローカル ストレージを使用して割り当てられたデータに対して、ファイバ保護をサポートします。 ,/GX ,同期例外処理を有効にします。 ,/Gy ,関数レベルのリンクを有効にします。 ,/Gz ,__stdcall 呼び出し規約を使用します。 ,/MD ,MSVCRT.lib を使用して、マルチスレッド DLL を作成します。 ,/MDd ,MSVCRTD.lib を使用して、デバッグ バージョンのマルチスレッド DLL を作成します。 ,/ML ,LIBC.lib を使用して、シングルスレッド実行可能ファイルを作成します。 ,/MLd ,LIBCD.lib を使用して、デバッグ バージョンのシングルスレッド実行可能ファイルを作成します。 ,/MT ,LIBCMT.lib を使用して、マルチスレッド実行可能ファイルを作成します。 ,/MTd ,LIBCMTD.lib を使用して、デバッグ バージョンのマルチスレッド実行可能ファイルを作成します。 !!!出力ファイル オプション ,オプション ,目的 ,/FA ,リスティング ファイルを作成します。 ,/Fa ,リスティング ファイル名を設定します。 ,/Fd ,プログラム データベース ファイルの名前を変更します。 ,/Fe ,実行可能ファイルの名前を変更します。 ,/Fm ,マップファイルを作成します。 ,/Fo ,オブジェクト ファイルを作成します。 ,/Fp ,プリコンパイル済みヘッダー ファイルの名前を指定します。 ,/FR /Fr ,ブラウザ ファイルを生成します。 ,/Fx ,挿入されたコードをソース ファイルとマージします。 !!!デバッグ オプション ,オプション ,目的 ,/GS ,バッファのセキュリティをチェックします。 ,/GZ ,/RTC1 と同じです。 ,/RTC ,ランタイム エラー チェックを有効にします。 ,/Wp64 ,64 ビット移植性の問題を検出します。 ,/Yd ,すべてのオブジェクト ファイルに、詳細なデバッグ情報を取り込みます。 ,/Yl ,デバッグ ライブラリの作成時に PCH の参照を挿入します。 ,/Z7 ,C 7.0 互換のデバッグ情報を生成します。 ,/Zd ,行番号を生成します。 ,/Zi ,詳細なデバッグ情報を生成します。 !!!プリプロセッサ オプション ,オプション ,目的 ,/AI ,#using ディレクティブに渡されたファイル参照を解決するために検索するディレクトリを指定します。 ,/C ,プリプロセス時にコメントを保持します。 ,/D ,定数とマクロを定義します。 ,/E ,プリプロセッサ出力を標準出力にコピーします。 ,/EP ,プリプロセッサ出力を標準出力にコピーします。 ,/Fl ,指定したインクルード ファイルをプリプロセスします。 ,/FU ,#using ディレクティブに渡された場合と同じ方法でファイル名の使用を強制します。 ,/I ,ディレクトリ内でインクルード ファイルを検索します。 ,/P ,プリプロセッサ出力をファイルに書き込みます。 ,/U ,1 つの定義済みマクロを削除します。 ,/u ,すべての定義済みマクロを削除します。 ,/X ,標準のインクルード ディレクトリを無視します。 ,/ZI ,エディット コンティニュと互換性のあるプログラム データベースにデバッグ情報を含めます。 !!!言語オプション ,オプション ,目的 ,/vd ,隠し vtordisp クラス メンバの無効と有効を切り替えます。 ,/vmb ,メンバへのポインタに対して、最適なクラスを使用します。 ,/vmg ,メンバへのポインタに対して、ジェネリック クラスを使用します。 ,/vmm ,多重継承を宣言します。 ,/vms ,単一継承を宣言します。 ,/vmv ,仮想継承を宣言します。 ,/Za ,言語拡張機能を無効にします。 ,/Zc ,/Ze の標準動作を指定します。 ,/Ze ,言語拡張機能を有効にします。 ,/Zg ,関数プロトタイプを生成します。 ,/Zl ,.obj ファイルから既定のライブラリ名を削除します。 ,/Zpn ,構造体メンバをパックします。 ,/Zs ,構文だけをチェックします。 !!!リンク オプション ,オプション ,目的 ,/F ,スタック サイズを設定します。 ,/LD ,ダイナミック リンク ライブラリを作成します。 ,/LDd ,デバッグ バージョンのダイナミック リンク ライブラリを作成します。 ,/link ,指定したオプションを LINK に渡します。 ,/MD ,MSVCRT.lib を使用して、マルチスレッド DLL をコンパイルして作成します。 ,/MDd ,MSVCRTD.lib を使用して、デバッグ バージョンのマルチスレッド DLL をコンパイルして作成します。 ,/ML ,LIBC.lib を使用して、シングルスレッド実行可能ファイルをコンパイルして作成します。 ,/MLd ,LIBCD.lib を使用して、デバッグ バージョンのシングルスレッド実行可能ファイルをコンパイルして作成します。 ,/MT ,LIBCMT.lib を使用して、マルチスレッド実行可能ファイルをコンパイルして作成します。 ,/MTd ,LIBCMTD.lib を使用して、デバッグ バージョンのマルチスレッド実行可能ファイルをコンパイルして作成します。 !!!プリコンパイル済みヘッダー オプション ,オプション ,目的 ,/Y- ,現在のビルドで、ほかのすべてのプリコンパイル済みヘッダー コンパイラ オプションを無視します。 ,/Yc ,プリコンパイル済みヘッダー ファイルを作成します。 ,/Yd ,すべてのオブジェクト ファイルに、詳細なデバッグ情報を取り込みます。 ,/Yu ,ビルド時にプリコンパイル済みヘッダー ファイルを使用します。 ,/YX ,プリコンパイル済みヘッダーを自動化します。 !!!その他のオプション ,オプション ,目的 ,@ ,応答ファイルを指定します。 ,/? ,コンパイラ オプションのリストを出力します。 ,/c ,リンクを行わないでコンパイルします。 ,/H ,外部名 (パブリック名) の長さを制限します。 ,/HELP ,コンパイラ オプションのリストを出力します。 ,/J ,既定の char 型を変更します。 ,/nologo ,著作権情報を表示しません。 ,/QI0f ,Pentium 0F 命令に問題がないことを保証します。 ,/QIfdiv ,Intel Pentium マイクロプロセッサの命令 FDIV、FPREM、FPTAN、および FPATAN のバグ対策を有効にします。 ,/QIfist ,浮動小数点型から整数型への変換が必要なときには、ヘルパ関数 _ftol を呼び出しません。 ,/showIncludes ,コンパイル時にすべてのインクルード ファイルの一覧を表示します。 ,/Tc ,C ソース ファイルを指定します。 ,/TC ,C ソース ファイルを指定します。(グローバル化) ,/Tp ,C++ ソース ファイルを指定します。 ,/TP ,C++ ソース ファイルを指定します。(グローバル化) ,/V ,バージョン文字列を設定します。 ,/W ,警告レベルを設定します。 ,/w ,すべての警告を無効にします。 ,/Wall ,既定で無効にされた警告も含めてすべての警告を有効にします。 ,/WL ,コマンド ラインから C++ ソース コードをコンパイルするときに、エラー メッセージと警告メッセージの 1 行診断を有効にします。 ,/Zm ,プリコンパイル済みヘッダーのメモリ割り当て制限を指定します。 !!!リンカオプション リンカ オプションの大文字と小文字は区別されません。つまり、/base と /BASE は、同指定を意味します。一部のリンカ オプションは、comment プラグマによって指定できま。 ,オプション ,目的 ,@ ,応答ファイルを指定します。 ,/ALIGN ,各セクションの配置を指定します。 ,/ALLOWBIND ,DLL をバインドできないことを指定します。 ,/ASSEMBLYDEBUG ,DebuggableAttribute をマネージ イメージに追加します。 ,/ASSEMBLYLINKRESOURCE ,マネージ リソースへのリンクを作成します。 ,/ASSEMBLYMODULE ,MSIL (Microsoft Intermediate Language) モジュールをアセンブリにインポートする必要があることを指定します。 ,/ASSEMBLYRESOURCE ,マネージ リソース ファイルをアセンブリに埋め込みます。 ,/BASE ,プログラムのベース アドレスを設定します。 ,/DEBUG ,デバッグ情報を作成します。 ,/DEF ,モジュール定義 (.def) ファイルをリンカに渡します。 ,/DEFAULTLIB ,外部参照を解決するときに、指定したライブラリを検索します。 ,/DELAY ,DLL の遅延読み込みを制御します。 ,/DELAYLOAD ,指定した DLL に遅延読み込みを発生させます。 ,/DELAYSIGN ,アセンブリに部分署名します。 ,/DLL ,DLL をビルドします。 ,/DRIVER ,Windows NT カーネル モード ドライバを作成します。 ,/ENTRY ,開始アドレスを設定します。 ,/EXETYPE ,仮想デバイス ドライバをビルドします。 ,/EXPORT ,関数をエクスポートします。 ,/FIXED ,指定のベース アドレスだけに読み込まれるプログラムを作成します。 ,/FORCE ,未解決または複数定義のシンボルがある場合でも、リンクを強制的に終了します。 ,/HEAP ,ヒープ サイズをバイト単位で設定します。 ,/IDLOUT ,.idl ファイル名およびその他の MIDL の出力ファイル名を指定します。 ,/IGNOREIDL ,.idl ファイル内に属性情報を挿入しません。 ,/IMPLIB ,既定のインポート ライブラリ名をオーバーライドします。 ,/INCLUDE ,シンボルを明示的に参照します。 ,/INCREMENTAL ,インクリメンタル リンクの処理方法を制御します。 ,/KEYCONTAINER ,アセンブリに署名するためのキー コンテナを指定します。 ,/KEYFILE ,アセンブリに署名するためのキーまたはキー ペアを指定します。 ,/LARGEADDRESSAWARE ,アプリケーションが 2 GB を超えるアドレスをサポートしていることをコンパイラに指定します。 ,/LIBPATH ,ユーザーが環境ライブラリ パスをオーバーライドできるようにします。 ,/LTCG ,リンク時コード生成を指定します。 ,/MACHINE ,ターゲット プラットフォームを指定します。 ,/MAP ,マップファイルを作成します。 ,/MAPINFO ,指定した情報をマップ ファイルに格納します。 ,/MERGE ,セクションを結合します。 ,/MIDL ,MIDL コマンド ライン オプションを指定します。 ,/NOASSEMBLY ,.NET Framework アセンブリを作成しません。 ,/NODEFAULTLIB ,外部参照を解決するときに、すべてのまたは指定した既定のライブラリを無視します。 ,/NOENTRY ,リソースだけの DLL を作成します。 ,/NOLOGO ,開始メッセージを表示しません。 ,/OPT ,LINK の最適化を制御します。 ,/ORDER ,指定された順序で COMDAT をイメージに取り込みます。 ,/OUT ,出力ファイル名を指定します。 ,/PDB ,プログラム データベース (PDB) ファイルを作成します。 ,/PDBSTRIPPED ,プログラム データベース (PDB) ファイルの作成時にプライベート シンボルを含めません。 ,/RELEASE ,.exe ヘッダーにチェックサムを設定します。 ,/SAFESEH ,安全な例外ハンドラのテーブルがイメージに含まれるように指定します。 ,/SECTION ,セクションの属性をオーバーライドします。 ,/STACK ,スタック サイズをバイト単位で設定します。 ,/STUB ,MS-DOS スタブ プログラムを Win32 プログラムにアタッチします。 ,/SUBSYSTEM ,オペレーティング システムに対して、.exe ファイルの実行方法を指定します。 ,/SWAPRUN ,リンカ出力をスワップ ファイルにコピーしてから実行します。 ,/TLBID ,リンカにより生成されたタイプ ライブラリのリソース ID を指定できます。 ,/TLBOUT ,.tlb ファイル名およびその他の MIDL の出力ファイル名を指定します。 ,/TSAWARE ,ターミナル サーバーでの実行専用のアプリケーションを作成します。 ,/VERBOSE ,リンカの進行状況メッセージを出力します。 ,/VERSION ,バージョン番号を割り当てます。 ,/VXD ,仮想デバイス ドライバ (VxD) を作成します。 ,/WS ,プロセス メモリを積極的にトリムします。 !!!参考 *MSDN Visual C++ コンパイラ オプション **==http://www.microsoft.com/japan/msdn/library/ja/vccore/html/_core_compiler_options_listed_by_category.asp?frame=true== *MSDN Visual C++ リンカ オプション **==http://www.microsoft.com/japan/msdn/library/ja/vccore/html/_core_linker_reference.asp?frame=true==