内存分配
来源:互联网 发布:chinaz 源码 编辑:程序博客网 时间:2024/04/29 20:10
一、内存分配操作符new
新建一个MFC应用程序,无论是Win32 Console Application + MFC Support,还是MFC Application或者是MFC DLL。编译器为我们生成的代码最前面,在#include下面都会有下面这三行代码:
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
这三句话的意思是,如果是Debug版本,那么将new操作符定义为DEBUG_NEW。在afx.h中有对DEBUG_NEW的定义:
// Memory tracking allocation
void* AFX_CDECL operator new(size_t nSize, LPCSTR lpszFileName, int nLine);
#define DEBUG_NEW new(THIS_FILE, __LINE__)
看来MFC是重新定义了一个new操作符,并把文件名、行号调试信息传给了new。下面是这个new操作符调用的其它函数。可见是按照MFC -> C++ -> C -> Win32 API的流程分配的内存
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 内存分配
- 如何为数据库建立索引
- 受到windows系统保护
- awk截取字段--substr()
- 工作了
- 不知道为何错,不能编译出来
- 内存分配
- DB2 tablespace 和 bufferpool的理解
- java第二课:数据类型、运算符号和关键字问题
- unknown OLE server: ‘AutoItX3.Control’ (WIN32OLERuntimeError)
- log4net初探
- java第三课:语句
- Mysql 查看连接数,状态
- MONO-Android -> Android.NET
- 用Thread做点自动化的事