设置一个边界保护数组

我想分配一个数组并设置它,使得内存pipe理单元保护它之前和之后的页面,所以尝试运行数组边界将被自动捕获; 然后抓住它以便以受控的方式处理错误。

我怀疑会有一个可移植的解决scheme,但是分别在Windows上使用Microsoft C和在Linux上使用GCC的最佳平台特定方法是什么?

Solutions Collecting From Web of "设置一个边界保护数组"

实际上,有一种便携的方式来检测软件中的内存分配超限。 Dmalloc提供fencepost覆盖检测

栅栏后存储器是紧接在存储器分配之上或之下的区域。 编写访问高于或低于分配的代码非常容易 – 特别是在处理数组或字符串时。 图书馆可以在每个分配周围的地区写出特殊的价值,所以它会注意到这些地区被覆盖。

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