编译STLport后,在 bin 目录中得到了三个 .dll:一个用于发布(stlport.5.2.dll),另一个用于调试(stlportd.5.2.dll 和 stlportstld.5.2.dll)。我想知道为什么那里有两个调试 dll。谢谢!
问问题
205 次
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 回答