建立一个边界保护阵列(Setting up a bounds-protected array)

2019-10-16 20:59发布

我想分配数组,并将它设置使得页面之前,它是由内存管理单元,所以试图在数组的边界将被自动捕获运行后保护; 然后抓住它,以处理错误以可控的方式。

我怀疑会有一个便携式解决方案,但分别有什么用Microsoft C中的最佳平台,具体的方法在Windows和GCC在Linux上?

Answer 1:

其实,有检测软件的内存分配超过了一个可移植的方式。 Dmalloc提供栅栏柱覆盖检测

栅栏柱存储器是区域紧接的上方或下方的内存分配。 这是太容易编写访问高于或低于分配代码 - 与数组或字符串时尤其如此。 该库可周围的每一个分配写在地区特殊值,所以当这些地区已被覆盖,将另行通知。

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



文章来源: Setting up a bounds-protected array