Crypto ++多字节/ unicode问题

时间:2013-05-29 20:41:47

标签: c++ crypt crypto++ visual-leak-detector

我在我的项目中使用Crypto ++库,但我有以下消息:

  

内存完整性检查失败。这可能是由调试引起的   断点或DLL重定位。

并且Visual Leak Detector检测到大量的内存泄漏,但我会直接调用。

我用msvc-2010(MultiByte)构建了Crypto,我正在使用来自anothre库(UNICODE)的cryptopp

这有危险吗?

1 个答案:

答案 0 :(得分:1)

  

内存完整性检查失败。

听起来您正在使用Crypto ++网站提供的预构建FIPS库之一。 (这是我经常见到的地方)。

如果是这样,您需要使用与构建DLL相同的版本开发程序。这可能是Visual Studio 6或Visual Studio 2002/2003左右。如果您尝试在Visual Studio 2010 ro 2012中使用它,则会出现大量内存问题。

  

Visual Leak Detector检测到大量的内存泄漏,但我会直接调用dctor。

忽略这些。微软在这个该死的东西中有一个未经修复的错误,可追溯到6天的Visual Studio。如果搜索Microsoft Connect,可以找到错误报告。它在Crypto ++ wiki的Leak页面上进行了讨论。

  

我用msvc-2010(MultiByte)构建了Crypto,我正在使用来自anothre库(UNICODE)的cryptopp

还必须使用Visual Studio 2010构建其他库。 UNICODE没问题,但您需要处理MBCS / UNICODE转换。请参阅Crypto ++ wiki上的Character Set Considerations