PostgreSQL 堆分配器mmgr详解(二)

2014-11-24 18:35:43 · 作者: · 浏览: 2
程序员来说都是豺狼虎豹,如果定义了这个宏,在面对野指针的时候你会从容不少,因为这个宏启用了一项功能:AllocSetFree的内存都会被置为0x7f, 这样在你第一次使用野指针的时候就会立马发现它。


2) MEMORY_CONTEXT_CHECKING 由于在大多数情况下,mmgr返回的内存大小大于申请大小的最小的2次幂。所以内存或多或少总是有浪费的。但这也是提高内存分配所带来必然的损失,为了心理平衡一下,我们可以利用这多出来的内存,做其他的事,比如这个宏就会启用这样一项功能:在实际大小后面填充一0x7e,这样就可以检测是否有内存越界的事情发生了。