注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

高版本的VC的安全警告问题  

2015-07-07 14:29:34|  分类: 环境安装使用 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
高版本的VC的安全警告问题

最近遇到过好几次这个问题了,在VS2013及更高的版本上,遇到 
“Warning 1 warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.”,说白了就是微软自己觉得C和C++库的人们水平有点洼,然后把这些函数重新封装一下,比如下面要用fopen_s,如果你不用,它就给你来这个。没办法,谁让你用人家微软的开发工具呢。就换了呗。
可是,有的时候儿为了写一些跨平台的,只是用VS做一个工具来开发,这个可就悲催了,因为那些所谓的安全函数都是微软自个儿定义的,在LINUX下又是一片惨淡的Error。那么有没有其它的方法呢?答案是肯定的:
在编程过程中难免会用到一些过时,或者曾经不安全的函数,如上,这是编译器会出现warning提示用某某新函数,如果不想使用新的函数可以使用一下方法:
一种方法是使用使用VS提供的编译器选择性提供warning功能(http://msdn.microsoft.com/enus/library/2c8f766e.aspx )
可以这样解决:使用 #pragma warning( disable : 4996) 即可消除。
第二咱方法是使用配置属性,警告中提示_CRT_SECURE_NO_WARNINGS,那么就可以:
Project properties->Configuration Properties->C/C++->Preprocessor->Preprocessor(工程属性-配置属性-C/C++——预处理器)输入:_CRT_SECURE_NO_WARNINGS
最后一种方法干脆定义:
#define _CRT_SECURE_NO_WARNINGS
   #include <stdio.h>
这个错误总是招呗人,烦。
  评论这张
 
阅读(219)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017