1
我編譯STLport後,我在bin direcotry中獲得了三個.dll文件:一個用於釋放(stlport.5.2.dll),另外一個用於調試(stlportd.5.2.dll和stlportstld.5.2.dll)。我想知道爲什麼在那裏有兩個調試DLL。謝謝!stlportd.5.2.dll和stlportstld.5.2.dll有什麼區別?
我編譯STLport後,我在bin direcotry中獲得了三個.dll文件:一個用於釋放(stlport.5.2.dll),另外一個用於調試(stlportd.5.2.dll和stlportstld.5.2.dll)。我想知道爲什麼在那裏有兩個調試DLL。謝謝!stlportd.5.2.dll和stlportstld.5.2.dll有什麼區別?
stlportstld*.dll
對於Debug Mode of 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