2

MSVC プロジェクト用のフラグを確認していますが、次の機能に関する十分なドキュメントを入手できません。

  • リンク時のコード生成 (/ltcg) を使用する
  • 機能レベルのリンクを有効にする (/Gy)
  • 未参照データの削除 (/OPT:REF)
  • 冗長 COMDAT の削除 (/OPT:ICF)
  • Windows98 向けに最適化しない (/OPT:NOWIN98)
  • 文字列プーリングを有効にする (/GF)

個別のデバッグ/リリース ビルドを使用しているため、主にリリースのフラグに関心があります。これらのフラグとそれらがどのように相互に関連するかについての説明、およびあなた自身のプロジェクトでどのフラグを使用するかについての説明は大歓迎です!

4

2 に答える 2

2

大部分は、ビルドから何を探しているかによって異なります。たとえば、こちらで説明されているように、リリース ビルドとデバッグ ビルドを別々に持っているかどうかなどです。デバッグ/リリース ビルドを組み合わせた場合、ほとんどの開発者が必要とする、デバッガーでエディット コンティニュを使用するために、関数レベルのリンクが必要になります。

他のもののうち、主に実行可能ファイルのサイズを縮小します。たとえば、2 つの同一の文字列リテラル char *a = "happy holiday"、*b = "happy holiday" がある場合、文字列プールが有効になっていると、それらは同じメモリの一部に存在します。

于 2009-01-08T14:01:11.363 に答える
1

PDBをオンにする

于 2009-01-08T14:35:45.693 に答える