--------------------+++++-------------------------
@note:
使用/W4警告级别
使用_CtrSetReportMode和_CrtReportFile
warning:/W4
C4100;参数param没有被引用的
C4127;条件表达式是常量
C4189;局部变量var被初始化,但未被引用
C4245;从type1到type2的转换不匹配
C4701;局部变量var没被初始化,便被使用
C4705;此语句无效,即空语句
C4706;在条件表达式中赋值了
C4710;函数func没有内联
在调试版本中使用/GZ帮助发现只有在编译版本中才能发现的问题
/GZ:
用OxCC模式初始化自动变量
通过 函数指针 调用函数时,检查栈指针 是否存在调用不匹配
在函数最好检查栈指针是否被改变
抑制假警告信息:
对函数参数中,没有用到的参数,在函数声明中,删除参数名
如 void MyView::OnMouseMove(UINT nFlag,Point point);
void MyView::OnMouseMove(UINT,Point point);
void MyView::OnMouseMove(UINT /*nFlag*/,Point point);
或
#ifdef _DEBUG
#define UNUSED(X)
#elseif
#define UNUSED(X) X
#endif
#define UNUSED_ALWAYS(X) X
#pragram warning编译器指示
在公共头文件中包含#pragram warning(disable:xxxx)消除包含此头文件的此类编译警告
消除代码模一代码块的xxxx警告
#pragram warning(disable:xxxx)
{....}
#pragram warning(default:xxxx)
在采用/W4编译过程中使用/W3编译选项
#pragram warning(push,3)
#include "xxxx.h"
#pragram warning(pop)
--------------------+++++-------------------------
@note:
使用/W4警告级别
使用_CtrSetReportMode和_CrtReportFile
warning:/W4
C4100;参数param没有被引用的
C4127;条件表达式是常量
C4189;局部变量var被初始化,但未被引用
C4245;从type1到type2的转换不匹配
C4701;局部变量var没被初始化,便被使用
C4705;此语句无效,即空语句
C4706;在条件表达式中赋值了
C4710;函数func没有内联
在调试版本中使用/GZ帮助发现只有在编译版本中才能发现的问题
/GZ:
用OxCC模式初始化自动变量
通过 函数指针 调用函数时,检查栈指针 是否存在调用不匹配
在函数最好检查栈指针是否被改变
抑制假警告信息:
对函数参数中,没有用到的参数,在函数声明中,删除参数名
如 void MyView::OnMouseMove(UINT nFlag,Point point);
void MyView::OnMouseMove(UINT,Point point);
void MyView::OnMouseMove(UINT /*nFlag*/,Point point);
或
#ifdef _DEBUG
#define UNUSED(X)
#elseif
#define UNUSED(X) X
#endif
#define UNUSED_ALWAYS(X) X
#pragram warning编译器指示
在公共头文件中包含#pragram warning(disable:xxxx)消除包含此头文件的此类编译警告
消除代码模一代码块的xxxx警告
#pragram warning(disable:xxxx)
{....}
#pragram warning(default:xxxx)
在采用/W4编译过程中使用/W3编译选项
#pragram warning(push,3)
#include "xxxx.h"
#pragram warning(pop)
--------------------+++++-------------------------