积极答复者
_CrtMemstate类型的结构的英文释义

问题
-
在crtdbg.h中定义的_CrtMemState:
typedef struct _CrtMemState
{
struct _CrtMemStateHeater* pBlockHeader; //Ptr to most recently allocated block
unsigned long lCounters[_MAX_BLOCKS]; //Counter for eack type of block
unsigned long lSizes[_MAX_BLOCKS]; //Total bytes allocated in each block type
unsigned long lHighWaterCounter; //The most bytes allocated at a time up to now
unsigned long lTotalCounter; //The total bytes allocated at present
}_CrtMemState;
由于本人的英文能力不强,请帮忙将英文注释翻译并适当释义以帮助我理解这个结构的成员存储的究竟是内存状态的一些什么内容;
谢谢!
- 已编辑 小小芝麻开门 2012年9月5日 9:05
答案
-
您好,
_CrtMemState结构可以用来存储一个内存状态的快照。
typedef struct _CrtMemState { struct _CrtMemStateHeater* pBlockHeader; //指向最近分配的内存块的指针 unsigned long lCounters[_MAX_BLOCKS]; //每个块的字段类型计数器 unsigned long lSizes[_MAX_BLOCKS]; //各个块中分配的字节总数 unsigned long lHighWaterCounter; //目前为止一次性分配的最大字节数 unsigned long lTotalCounter; //目前分配的字节总数 }_CrtMemState;
为了在特定点对内存进行快照,可以传递一个_CrtMemState结构给_CrtMemCheckpoint函数,这个函数会用当前内存的一个快照填充_CrtMemState结构。然后再将被填充好的_CrtMemState结构传递给_CrtMemDumpStatistics函数,从而获得一些堆内存的分配信息。
_CrtMemState s1; _CrtMemCheckpoint(&s1); _CrtMemDumpStatistics(&s1);
Damon Zheng [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 小小芝麻开门 2012年9月6日 12:23
全部回复
-
您好,
_CrtMemState结构可以用来存储一个内存状态的快照。
typedef struct _CrtMemState { struct _CrtMemStateHeater* pBlockHeader; //指向最近分配的内存块的指针 unsigned long lCounters[_MAX_BLOCKS]; //每个块的字段类型计数器 unsigned long lSizes[_MAX_BLOCKS]; //各个块中分配的字节总数 unsigned long lHighWaterCounter; //目前为止一次性分配的最大字节数 unsigned long lTotalCounter; //目前分配的字节总数 }_CrtMemState;
为了在特定点对内存进行快照,可以传递一个_CrtMemState结构给_CrtMemCheckpoint函数,这个函数会用当前内存的一个快照填充_CrtMemState结构。然后再将被填充好的_CrtMemState结构传递给_CrtMemDumpStatistics函数,从而获得一些堆内存的分配信息。
_CrtMemState s1; _CrtMemCheckpoint(&s1); _CrtMemDumpStatistics(&s1);
Damon Zheng [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 小小芝麻开门 2012年9月6日 12:23