编译STLport后,我在bin目录中获得了三个.dll:一个用于发布(stlport.5.2.dll),其他用于调试(stlportd.5.2.dll和stlportstld。 5.2.dll)。我想知道为什么那里有两个调试dll。谢谢!
答案 0 :(得分:2)
stlportstld*.dll
适用于Debug Mode of STLport:
调试模式允许您在使用STL迭代器和算法的应用程序代码中找到非常模糊的错误。
它执行迭代器有效性和所有权以及算法前提条件的运行时检查。 当调试检查显示错误时,它会通过详细的诊断终止程序。
调试模式下的STLport与发布模式一样具有异常安全性和线程安全性。
stlportd*.dll
是stlport*.dll
的调试版本,它不像stlportstld*.dll
那样提供额外的调试工具(尽管它也可以“调试”)。
您还可以参考STLport包中的stl\config\_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