VC6使用#pragma warning的一点经验 - liuchanghe的专栏 - C...
来源:百度文库 编辑:神马文学网 时间:2024/04/26 00:09:06
在VC6.0中定义类CXMLError的头文件中起始处有如下#include语句#include
#include
class CXMLError
{
…
}
在使用Level 4编译时,报告C4100,C4511,C4512,C4663,C4245,C4018几种Warning
2. 修改为如下:
#pragma warning( push )
#pragma warning( disable : 4100 4511 4512 4663 4245 4018)
#include
#include
#pragma warning( pop )
这时产生了大量C4514警告。
3. 再修改为
#pragma warning( push )
#pragma warning( disable : 4100 4511 4512 4663 4245 4018 4514)
#include
#include
#pragma warning( pop )
结果依然如上,有大量C4514警告,少量4663,4245,4108。
4. 再修改如下:
#pragma warning( disable : 4100 4511 4512 4663 4245 4018 4514)
#pragma warning( push )
#include
#include
#pragma warning( pop )
结果只余下4663, 4245, 4108
由于不能去除4663, 4245, 4108三种警告
5. 又对包含头文件修改为在Level 3编译,如下:
#pragma warning( disable:4514)
#pragma warning( push,3 )
#include
#include
#pragma warning( pop)
结果无警告产生。
6. 又尝试如下修改:
#include
#pragma warning( push,3 )
#include
#pragma warning( pop)
结果无警告产生。
小结:
1. 在防止包含头文件引起的Warning而使用#pragma warning时,应只针对产生警告的头文件进行处理,在这个问题中是,这时应该在#include 上面加#pragma warning(push),否则可能增加其它警告,如此处产生的大量C4514
2. 在使用#pragma warning(push)后使用#pragma warning(disable: xxxx)可能无效时,可以尝试交换两个语句的顺序,这可能是VC6.0中的#pragma warning的Bug。
3. 在VC6.0中存在一些不能diable掉的Warning,如4663, 4245, 4108等。这可能是VC6.0的Bug,如已知的C4786在VC6.0中不能disable掉,使用#pragma warning(disable : 4786)之后仍然会显示警告。
#include
class CXMLError
{
…
}
在使用Level 4编译时,报告C4100,C4511,C4512,C4663,C4245,C4018几种Warning
2. 修改为如下:
#pragma warning( push )
#pragma warning( disable : 4100 4511 4512 4663 4245 4018)
#include
#include
#pragma warning( pop )
这时产生了大量C4514警告。
3. 再修改为
#pragma warning( push )
#pragma warning( disable : 4100 4511 4512 4663 4245 4018 4514)
#include
#include
#pragma warning( pop )
结果依然如上,有大量C4514警告,少量4663,4245,4108。
4. 再修改如下:
#pragma warning( disable : 4100 4511 4512 4663 4245 4018 4514)
#pragma warning( push )
#include
#include
#pragma warning( pop )
结果只余下4663, 4245, 4108
由于不能去除4663, 4245, 4108三种警告
5. 又对包含头文件修改为在Level 3编译,如下:
#pragma warning( disable:4514)
#pragma warning( push,3 )
#include
#include
#pragma warning( pop)
结果无警告产生。
6. 又尝试如下修改:
#include
#pragma warning( push,3 )
#include
#pragma warning( pop)
结果无警告产生。
小结:
1. 在防止包含头文件引起的Warning而使用#pragma warning时,应只针对产生警告的头文件进行处理,在这个问题中是
2. 在使用#pragma warning(push)后使用#pragma warning(disable: xxxx)可能无效时,可以尝试交换两个语句的顺序,这可能是VC6.0中的#pragma warning的Bug。
3. 在VC6.0中存在一些不能diable掉的Warning,如4663, 4245, 4108等。这可能是VC6.0的Bug,如已知的C4786在VC6.0中不能disable掉,使用#pragma warning(disable : 4786)之后仍然会显示警告。
VC6使用#pragma warning的一点经验 - liuchanghe的专栏 - C...
C 博客 - Programmer‘s Cookbook - #pragma使用
在 console mode 中使用 C/C 编译器 - Kevin的专栏 - CSDNBlog
一点交友的经验
C armman的专栏 - CSDNBlog
vc6.0的用法
CToolTipCtrl使用详细解说 - zhoubl668的专栏:远帆,梦之帆! - C...
VC中#pragma warning指令 - Henry's Technical Blog...
功能强大的VC6调试器
功能强大的VC6调试器
c代码优化方案 - quanming1119的专栏
使用混响的一点建议
C 的XML编程经验
经验的使用
【创业专栏】我创业的基本经验
长江水系路亚的一点经验
分享一点CPU散热器方面的经验
选车的一点小经验
关于REST的一点想法 - java060515的专栏 - CSDNBlog
使用工作队列 - qinzhonghello的专栏
数码相机的闪光灯使用经验
数码相机的闪光灯使用经验
vc6能用的SDK和库列表
VC6.0下看不到的字符