VC创建新文件时自动添加代码含义
2010-05-21 15:53
489 查看
在每个头文件的开头有这些东西:
#if !defined(AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_)
#define AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
意思如下:
1、
#if !defined(AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_)
#define AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_
// 文件内容
#endif
只是将符号AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_与该头文件捆绑起来而已。如果此次编译包含过此头文件,该符号肯定定义过了,文件内容就不被编译,如果没有,就编译该文件内容。
2、
#pragma once
相同,也是使该文件在一次编译过程中只编译一次。参考MSDN"#pragma"
(#if _MSC_VER > 1000...#endif 是判断当前VC版本是否支持)
3、
#ifdef _DEBUG
#define new DEBUG_NEW
是MFC提供的调试用new算符,提供内存泄漏监测等等。参看:
void* AFX_CDECL operator new(size_t nSize, LPCSTR lpszFileName, int nLine);
#define DEBUG_NEW new(THIS_FILE, __LINE__)
4、
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
标准C++中,__FILE__,__LINE__是两个预定义宏,分别表示当前源文件路径名和行号,比如执行printf("file=%s,line=%d",__FILE__,__LINE__);试试看。
这两句就是定义了一个static char 数组THIS_FILE[],并把初值赋为当前源文件路径名而已。
#if !defined(AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_)
#define AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
意思如下:
1、
#if !defined(AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_)
#define AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_
// 文件内容
#endif
只是将符号AFX_MAINDLG_H__7FFD2FC7_8C06_11D6_B7CA_0050BA40CCBD__INCLUDED_与该头文件捆绑起来而已。如果此次编译包含过此头文件,该符号肯定定义过了,文件内容就不被编译,如果没有,就编译该文件内容。
2、
#pragma once
相同,也是使该文件在一次编译过程中只编译一次。参考MSDN"#pragma"
(#if _MSC_VER > 1000...#endif 是判断当前VC版本是否支持)
3、
#ifdef _DEBUG
#define new DEBUG_NEW
是MFC提供的调试用new算符,提供内存泄漏监测等等。参看:
void* AFX_CDECL operator new(size_t nSize, LPCSTR lpszFileName, int nLine);
#define DEBUG_NEW new(THIS_FILE, __LINE__)
4、
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
标准C++中,__FILE__,__LINE__是两个预定义宏,分别表示当前源文件路径名和行号,比如执行printf("file=%s,line=%d",__FILE__,__LINE__);试试看。
这两句就是定义了一个static char 数组THIS_FILE[],并把初值赋为当前源文件路径名而已。
相关文章推荐
- 关于在c#中创建用户控件后,winform应用程序在调用中无法通过点击用户控件的子控件为其自动添加事件代码的问题
- Pycharm在创建py文件时,自动添加头文件注释
- VC++创建的非空项目中自动生成的文件说明
- Pycharm在创建py文件时,如何自动添加文件头注释?
- AndroidStudio不自动添加新创建的文件到VCS
- AndroidStudio不自动添加新创建的文件到VCS的解决办法
- vs2012及以上版本中写c++时自动给代码添加创建信息注释的问题
- VS2012添加WCF服务引用失败,更新服务引用Reference文件没有自动产生代码
- vim创建程序文件自动添加头部注释
- [C] c99int(让VC等编译器自动兼容C99的整数类型)V1.02。源码托管到github、添加CMake编译配置文件、使用doxygen规范注释
- jquery 自动创建form表单提交代码 下拉条 ajax模板代码 添加_移除 属性_样式
- Eclipse 创建新文件时自动添加author,email,time等信息
- AndroidStudio使用注释模版使创建文件时自动添加默认的内容
- Pycharm在创建py文件时,自动添加文件头注释
- vim创建程序文件自动添加头部注释
- Creating Dialogbased Windows Application (4) / 创建基于对话框的Windows应用程序(四)Edit Control、Combo Box的应用、Unicode转ANSI、Open File Dialog、文件读取、可变参数、文本框自动滚动 / VC++, Windows
- Pycharm在创建py文件时,自动添加文件头注释.
- Pycharm在创建py文件时,自动添加文件头注释
- 第二天2-1,2,3,4】【自动扩展】【添加数据文件】【创建表空间】【undo表空间】【修改用户默认表空间】【释放没用的空间|移动表到新的表空间】
- vs2017源文件创建代码自动版权声明注释