#pragma warning指令【整理】:Ackarlix该指令允许有选择性的修改编译器的
警告
消息的行为指令格式如下:#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list...]#pragma warning( push[ ,n ] )#pragm
忽视或关闭编译
警告
,都是非常草率的行为。“注意你的编译
警告
信息,并及时改正编译所提示的错误。如果你
忽略
了明显错误的话,你就难以改正微妙的错误。”—《代码大全》。
一方面,编译
警告
确实隐藏了非常致命的代码缺陷,另一方面,认为不用处理“无害”
警告
是缺乏团队责任心的表现,会给整个项目引入大量的
警告
信息,把真正有问题的
警告
淹没在大量
警告
信息中,对整个团队开发带来恶劣影响。
在项目中对编译
警告
采取零容忍的态度,如果编译
警告
确实不易清除,在明确知道原因以后其产生的影响时,可报告项目负责人,在项目编译选项中
忽略
警告
。
用
VS
编译项目时如果感觉有些
警告
太多或太烦人, 可以屏蔽该
警告
注:假设需要屏蔽的warning号为8888
第一种方法, 在代码中加入#prama warning(disable:8888)
第二种方法,
VS
编译器中设置, 以
VS
2005为例, 打开项目属性-> c/
c++
-> Advanced -> Disable Specific Warnings 输入8888
scanf()等函数存在于版本较旧的CRT(Cruntimelibrary,partoftheCstandardlibrary)中,具有安全性问题,比如在读取字符时,若不指定%s的宽度,可能会导致缓冲区溢出。
VS
编译器认为直接使用C语言定义的函数scanf()不检查边界,使用
VS
编辑器编写C语言代码时,调用。函数输入内容时候报错。错误代码C4996。...