STLportをコンパイルした後、bin ディレクトリに 3 つの .dll を取得しました。1 つはリリース用 (stlport.5.2.dll)、もう 1 つはデバッグ用 (stlportd.5.2.dll および stlportstld.5.2.dll) です。そこに2つのデバッグDLLがあるのはなぜだろうと思っていました。ありがとう!
1 に答える
2
stlportstld*.dll
STLportのデバッグモード用です:
デバッグ モードでは、STL イテレータとアルゴリズムを使用するアプリケーション コードの非常にあいまいなバグを見つけることができます。
イテレータの有効性と所有権、およびアルゴリズムの前提条件のランタイム チェックを実行します。デバッグ チェックでバグが明らかになると、詳細な診断を行ってプログラムを終了します。
デバッグ モードの STLport は、リリース モードと同様に、例外セーフおよびスレッド セーフです。
stlportd*.dll
は のデバッグ バージョンでありstlport*.dll
、追加のデバッグ機能は提供していませんstlportstld*.dll
(ただし、「デバッグ」することはできます)。
stl\config\_auto_link.h
STLport パッケージで を参照して、バイナリ間の違いを確認することもできます。
# 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 に答える