ゲームエンジン・アーキテクチャ第2章
第2章のタイトルは「仕事用ツール」。この章では主にバージョン管理システム、Microsoft Visual Studio、それからプロファイリングツールとメモリリーク、メモリ破壊の検出について記述している。
2.1 バージョン管理
バージョン管理システムを幾つか紹介した後、SubversionとTortoiseSVNを用いてコミットやマージについて説明している。
2.2 Microsoft Visual Studio
ソースファイルは翻訳単位。コンパイラが見るものは全て翻訳単位。
リンカの仕事
- 全てのマシンコードの最終的な相対アドレスを計算する
- それぞれの翻訳単位における関数やグローバルデータに対する全ての外部参照が必ず適切に解決されるようにすること
一般的なビルド構成
- Debug, Release
- 製品ビルド
- 全てのデバッグ情報を取り除き、アサートは無効化する。最適化も行う。
- ツールビルド
- よくわかっていない。
- ハイブリッドビルド
- 翻訳単位の大部分がリリースモードでビルドされ、少しの部分がデバッグモードでビルドされている構成。
- Visual Studioでは翻訳単位ごとのビルド構成を設定できないので設定するのが面倒らしい。
コードのデバッグ
Visual Studioのウォッチウィンドウは便利っぽい。
今までちゃんとVisual Studioのデバッガを学んで使ったことがなかったので知らないことがちらほらあった。