2

プロジェクトで Crypto++ ライブラリを使用していますが、次のメッセージが表示されます。

メモリ内の整合性チェックに失敗しました。これは、デバッグ ブレークポイントまたは DLL の再配置が原因である可能性があります。

Visual Leak Detector は多くのメモリ リークを検出しますが、I'll dctor は正しく呼び出されます。

msvc-2010 (MultiByte) で Crypto をビルドし、別のライブラリ (UNICODE) の cryptopp を使用しています。

これは危険ですか?

4

1 に答える 1

1

メモリ内の整合性チェックに失敗しました。

Crypto++ Web サイトで利用可能なビルド済みの FIPS ライブラリの 1 つを使用しているようです。(これは私がこれを最も頻繁に見た場所です)。

その場合、DLL のビルドに使用されたのと同じバージョンでプログラムを開発する必要があります。それはおそらく Visual Studio 6、または Visual Studio 2002/2003 程度です。Visual Studio 2010 ro 2012 で使用しようとすると、多くのメモリの問題が発生します。

Visual Leak Detector は多くのメモリ リークを検出しますが、I'll dctor は正しく呼び出されます。

これらは無視してください。Microsoft には、Visual Studio 6 の時代にさかのぼる、そのいまいましい問題に未修正のバグがあります。Microsoft Connect を検索すると、バグ レポートを見つけることができます。Crypto++ wikiのLeakページで話題になっています。

msvc-2010 (MultiByte) で Crypto をビルドし、別のライブラリ (UNICODE) の cryptopp を使用しています。

他のライブラリも、Visual Studio 2010 を使用してビルドする必要があります。UNICODE は問題ありませんが、MBCS/UNICODE 変換を処理する必要があります。Crypto++ wiki のCharacter Set Considerationsを参照してください。

于 2013-10-02T07:14:01.347 に答える