没有合适的资源?快使用搜索试试~ 我知道了~
消除编译错误和消除代码中的问题并不是完全相同的 过早地消除合理的编译警告并不是一件好事 在消除编译警告之前要对它们进行仔细检查(如:强制类型转换) 编译警告能帮助你发现错误,因此不要轻易地消除警告。 处理警告的核心是要发现问题,而不是抑制警告本身,目标是消除错误
资源推荐
资源详情
资源评论
VC 编译器查错
1. 使用 /W4 警告级别
-----------------------------------------------------------------
/W4 警告级别能给你下面这些/W3 警告级别不能给你的警告:
warning C4100: 未被引用的正式参数
warning C4127: 条件表达式是常量
warning C4189: 局部变量被初始化了,但是没有被使用
warning C4245: 有符号的/无符号的 不匹配
warning C4701: 局部变量可能没有初始化就被使用了
warning C4705: 语句没有效果
warning C4706: 在条件表达式中的赋值
warning C4710: 函数没有内联
2. 在调试版本里总是使用/GZ编译选项
-----------------------------------------------------------------
用来帮助发现那些发布版本里才有的错误, 其作用如下:
用0xCC模式初始化自动-本地变量
在通过函数指针调用函数时,检查栈指针确认是否有调用规则不匹配
在函数最后检查栈指针是否被改变
3. 抑制假的警告信息,专注真正需要处理的警告
-----------------------------------------------------------------
使用非标准预言特征、STL程序采用 /W4警告容易导致假警告,如下:
warning C4100: 从函数声明中删除参数名字:
#ifdef _DEBUG
#define UNUSED(x)
1. 使用 /W4 警告级别
-----------------------------------------------------------------
/W4 警告级别能给你下面这些/W3 警告级别不能给你的警告:
warning C4100: 未被引用的正式参数
warning C4127: 条件表达式是常量
warning C4189: 局部变量被初始化了,但是没有被使用
warning C4245: 有符号的/无符号的 不匹配
warning C4701: 局部变量可能没有初始化就被使用了
warning C4705: 语句没有效果
warning C4706: 在条件表达式中的赋值
warning C4710: 函数没有内联
2. 在调试版本里总是使用/GZ编译选项
-----------------------------------------------------------------
用来帮助发现那些发布版本里才有的错误, 其作用如下:
用0xCC模式初始化自动-本地变量
在通过函数指针调用函数时,检查栈指针确认是否有调用规则不匹配
在函数最后检查栈指针是否被改变
3. 抑制假的警告信息,专注真正需要处理的警告
-----------------------------------------------------------------
使用非标准预言特征、STL程序采用 /W4警告容易导致假警告,如下:
warning C4100: 从函数声明中删除参数名字:
#ifdef _DEBUG
#define UNUSED(x)
资源评论
cheng_qinglin
- 粉丝: 1
- 资源: 58
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功