1

配列を割り当てて、その前後のページがメモリ管理ユニットによって保護されるように設定したいので、配列の境界を超えて実行しようとすると自動的にキャッチされます。次に、制御された方法でエラーを処理するためにそれをキャッチします。

移植可能なソリューションがあるとは思えませんが、Windows で Microsoft C を、Linux で GCC をそれぞれ使用するプラットフォーム固有の最適な方法は何ですか?

4

1 に答える 1

2

実際、ソフトウェアでメモリ割り当てのオーバーランを検出する移植可能な方法があります。 Dmallocは、fencepost の上書き検出を提供します

フェンス ポスト メモリは、メモリ割り当てのすぐ上またはすぐ下の領域です。割り当ての上または下にアクセスするコードを書くのは非常に簡単です。特に、配列や文字列を扱う場合はそうです。ライブラリは、すべての割り当ての周りの領域に特別な値を書き込むことができるため、これらの領域が上書きされたときに通知されます。

http://dmalloc.com/docs/latest/online/dmalloc_17.html#SEC22

于 2012-06-18T04:04:30.433 に答える