よく使うコンパイル・リンカオプション
前回の分割コンパイルの話題ですは、コンパイラとリンカの基本的な使い方について説明しました。
今回はもう一歩進んで、便利なコンパイル・リンカオプションを紹介します。
1.最適化オプション
これはコンパイラオプションです。
コードサイズの最適化を実施することで、可能な限りコードサイズを小さくすることが 出来ます。オプションは /O1 オプションです。
2.警告レベルの指定
これはコンパイラオプションです。
より望ましいコーディングができることをコンパイラが検出した場合、それを警告と して出力させることができます。 /W4 オプションまたは /W3 を指定して コンパイルすればよいでしょう。
3.Unicode ビルド
コンパイラオプションとして /DUNICODE と /D_UNICODE を渡すことにより、 Win32 API 及び CRT ライブラリ関数のワイドキャラクター版が使用されます。
4.デバッグ情報の生成
/Zi コンパイラオプション及び /DEBUG, /PDB リンカオプションで、 PDB (プログラム・データベース, シンボルファイルとも言います) を生成できます。
PDB ファイルはソースコードのシンボル情報 (変数名や関数名等) です。
この情報はメモリダンプの解析時に使用しますので、リリースビルド作成時にも PDB を生成するようにしてください。
コマンド例は次のようになります。
> cl /c /Zi foo.cpp > link foo.obj /PDB:foo.pdb /DEBUG
5.ターゲット Windows バージョン指定
Windows API の中には Windows のバージョンによって使えるもの使えないものがあります。 コンパイル時に _WIN32_WINNT でターゲットとなる Windows のバージョンを指定すると よいでしょう。
> cl /c /D_WIN32_WINNT=0x0602 test.cpp
尚、指定する値は以下の通りです。
sdkddkver.h に記述があります。