1

STLportをコンパイルした後、bin ディレクトリに 3 つの .dll を取得しました。1 つはリリース用 (stlport.5.2.dll)、もう 1 つはデバッグ用 (stlportd.5.2.dll および stlportstld.5.2.dll) です。そこに2つのデバッグDLLがあるのはなぜだろうと思っていました。ありがとう!

4

1 に答える 1

2

stlportstld*.dllSTLportのデバッグモード用です:

デバッグ モードでは、STL イテレータとアルゴリズムを使用するアプリケーション コードの非常にあいまいなバグを見つけることができます。

イテレータの有効性と所有権、およびアルゴリズムの前提条件のランタイム チェックを実行します。デバッグ チェックでバグが明らかになると、詳細な診断を行ってプログラムを終了します。

デバッグ モードの STLport は、リリース モードと同様に、例外セーフおよびスレッド セーフです。

stlportd*.dllは のデバッグ バージョンでありstlport*.dll、追加のデバッグ機能は提供していませんstlportstld*.dll(ただし、「デバッグ」することはできます)。

stl\config\_auto_link.hSTLport パッケージで を参照して、バイナリ間の違いを確認することもできます。

#  if defined (_STLP_DEBUG)
#    define _STLP_LIB_OPTIM_MODE "stld"
#  elif defined (_DEBUG)
#    define _STLP_LIB_OPTIM_MODE "d"
#  else
#    define _STLP_LIB_OPTIM_MODE ""
#  endif
于 2012-09-28T06:09:21.603 に答える