3

大きすぎる数値を小さい型にキャストするために、Visual C++ 2008 で実行時チェックが失敗するという問題があります。障害は外部の dll にあるため、そこで修正することはできません。では、外部プロジェクトのこの実行時チェックをオフにするにはどうすればよいでしょうか。

4

3 に答える 3

3

再コンパイルできないこの DLL でキャスト (およびチェック) が行われている場合、チェックを簡単にオフにすることはできません。

問題を回避するためにできる唯一のことは、DLL に渡すデータを変更することです。または、バイナリにパッチを適用してチェックを無効にします。おそらく、そのようなことほど難しくはないでしょう-逆アセンブラは得意ですか?

于 2008-10-02T09:17:36.627 に答える
2

ランタイム チェックは、プロジェクトの Visual Studio 構成プロパティ、C/C++ コード生成、「より小さな型のチェック」で見つけることができるオプション /RTC c に依存します。これをオフにして、再コンパイルする必要があります。

于 2021-04-28T07:34:00.787 に答える
-1

プロジェクト設定で、小さい型へのキャスト チェックをいつでもオフにすることができます。

チェックが dll にコンパイルされているときにそれが機能しない場合は、非デバッグ バージョンの dll へのリンクを試すことができます。チェックは、デバッグの「最適化された」ビルドに対してのみオンにできるためです。もちろん、デバッグに影響を与える可能性があります。

于 2008-10-02T09:12:06.343 に答える