C++ 中 MFC AfxIsValidAddress 的替代方案?
问问题
642 次
1 回答
4
该功能实际上并没有按照它所说的那样做......
它说它检查内存范围以查看它是否映射到进程的空间地址。但实际上,在大多数版本的库中,它只是检查 NULL 值。
理由似乎是在旧版本的 Windows 中,它依赖于IsBadReadPtr()和朋友。但是这些功能完全过时了,不应该在较新的代码中使用(根据 MSDN),因此行为发生了变化。
也就是说,如果您想真正检查内存范围,最好的选择是VirtualQuery()。
于 2012-09-17T16:40:38.630 回答