stlportd.5.2.dll 和 stlportstld.5.2.dll 有什么区别?

What's the difference between stlportd.5.2.dll and stlportstld.5.2.dll?

本文关键字:dll 区别 什么 stlportd stlportstld      更新时间:2023-10-16

在我编译STLport之后,我在bin目录中获得了三个.dll:一个用于发布(stlport.5.2.dll),其他用于调试(stlportd.5.2.dll和stlportstld.5.2.dll)。我想知道为什么那里有两个调试 dll。谢谢!

stlportstld*.dll用于STLport的调试模式:

调试模式允许您在使用 STL 迭代器和算法的应用程序代码中查找非常模糊的错误。

它执行迭代器有效性、所有权和算法前提条件的运行时检查。 当调试检查显示错误时,它会终止程序并进行详细的诊断。

调试模式下的 STLport 与发布模式下的异常安全和线程安全一样多。

stlportd*.dllstlport*.dll的调试版本,它不像stlportstld*.dll那样提供额外的调试工具(尽管它也可以"调试")。

您还可以参考 STLport 包中的stlconfig_auto_link.h以查看二进制文件之间的差异:

#  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