Крипто ++ проблема многобайтовых / юникодов

Я использую библиотеку Crypto++ в своем проекте, но у меня есть следующее сообщение:

В целостности памяти проверка не удалась. Это может быть вызвано точками останова отладки или перемещением DLL.

И Visual Leak Detector обнаруживает много утечек памяти, но я буду называть его доктором.

Я построил Crypto с msvc-2010 (MultiByte), и я использую cryptopp из другой библиотеки (UNICODE)

Это опасно?

1 ответ

Решение

В целостности памяти проверка не удалась.

Похоже, вы используете одну из готовых библиотек FIPS, доступных для веб-сайта Crypto++. (Вот где я видел это чаще всего).

Если это так, вам нужно разработать свою программу с той же версией, которая использовалась для сборки DLL. Это, вероятно, Visual Studio 6 или Visual Studio 2002/2003 или около того. У вас будет много проблем с памятью, если вы попытаетесь использовать его с Visual Studio 2010 ro 2012.

И Visual Leak Detector обнаруживает много утечек памяти, но я буду называть его доктором.

Игнорировать это. У Microsoft есть нефиксированная ошибка в этой чертовой штуке, появившаяся в Visual Studio 6 дней. Вы можете найти отчет об ошибке, если вы ищете Microsoft Connect. Об этом говорится на странице Leak в вики Crypto++.

Я построил Crypto с msvc-2010 (MultiByte), и я использую cryptopp из другой библиотеки (UNICODE)

Другая библиотека также должна быть построена с использованием Visual Studio 2010. С UNICODE все в порядке, но вам нужно будет обработать преобразования MBCS/UNICODE. См. Особенности набора символов в вики Crypto++.

Другие вопросы по тегам