_CrtMemState
返回的_CrtMemCheckpoint()
结构包含size_t lHighWaterCount
成员,该成员提供自应用程序启动以来的最大内存使用量。我正在编写一个关注高水位标记的测试台,但它在一次运行中会进行多次测试,我只能在第一次测试时可靠地获得高水位标记:如果高水位标记没有上升第二次测试,我只知道高水位标记小于或等于第一次测试。
有没有办法将CRT调试堆的高水位重置为当前分配大小?
答案 0 :(得分:1)
不,没有办法重置此计数器。
考虑另一种解决方案:在每次测试开始时注册一个分配钩子(通过_CrtSetAllocHook
),在测试期间保持自己的高水位数,然后在测试结束时取消注册钩子