关闭 C4996 警告(_CRT_SECURE_NO_DEPRECATE)

在使用VC 2005 的开发者会遇到这样的问题,在使用std命名空间库函数的时候,往往会出现类似于下面的警告:

warning C4996: strcpy was declared deprecated

 

出现这样的警告,是因为VC2005中认为CRT中的一组函数如果使用不当,可能会产生诸如内存泄露、缓冲区溢出、非法访问等安全问题。这些函数如:strcpy、strcat等。

 

对于这些问题,VC2005建议使用这些函数的更高级的安全版本,即在这些函数名后面加了一个_s的函数。这些安全版本函数使用起来更有效,也便于识别,如:strcpy_s,calloc_s等。

 

当然,如果执意使用老版本、非安全版本函数,可以使用_CRT_SECURE_NO_DEPRECATE标记来忽略这些警告问题。办法是在编译选项 C/C++ | Preprocessor | Preprocessor Definitions中,增加_CRT_SECURE_NO_DEPRECATE标记即可。

 

补充:

 

然而,本以为上面的说法是件漂亮的法子,不想用后不爽。遂用旧法:

 

#pragma warning(disable:4996) //全部关掉
#pragma warning(once:4996) //仅显示一个

 

项目属性---C/++ --->预处理定义下-》配置 -》下面添加_CRT_SECURE_NO_DEPRECATE和_SCL_SECURE_NO_DEPRECATE两个宏

时间: 2024-10-26 23:29:26

关闭 C4996 警告(_CRT_SECURE_NO_DEPRECATE)的相关文章

关闭vs警告

禁用所有编译器警告 当"解决方案资源管理器"中有项目选中时,在"项目"菜单上单击"属性". 单击"编译"选项卡. 选中"禁用所有警告"复选框. 禁用单个编译器警告 在"解决方案资源管理器"中选定一个项目,然后在"项目"菜单中单击"属性". 单击"编译"选项卡. 在"默认编译器选项"表中,将该警告的"

msvc/gcc:中用#pragma指令关闭特定警告(warning)

在使用一些第三方库或源码的时候,经常会遇到编译时产生warnings情况,这些warning不是我们自己的代码产生的,当然也不好去修改,但每次编译都显示一大堆与自己代码无关的警告也着实看着不爽,更麻烦的是还有可能造成自己代码中产生的警告被淹没在多过的无关警告中,而被忽略掉的情况. 所以要想办法关闭这些第三方代码和库产生的警告. 关闭特定的warning可以在编译时通过命令行参数的方式指定,比如 gcc 是在命令行一般是用-Wno-xxxx这样的形式禁止特定的warning,这里xxxx代入特定的

赶驴网宣布关闭:警告竞争对手“别总拿钱砸人”

4月11日上午消息,风风雨雨的赶驴风波今日落下帷幕, 百姓网宣布旗下赶驴网今日正式关闭,域名ganlvwang.com将自动跳转到百姓网. 赶集网稍早前进行了大规模广告投放,在这个广告中,姚晨骑着一头驴子的形象,给 网友留下深刻印象.百姓网抢先注册了拼音域名的赶驴网(ganlvwang.com),并放出口号"赶驴网,啥没有?".而赶集网的口号则是"赶集网,啥都有". 赶驴风波迅速演变成了一场关于行业无序竞争的太讨论,赶集网CEO杨浩涌在其微博上表示,同行没必要如此竞

彻底关闭Windows8 UAC警告实用技巧

默认情况下,Win 8会开启UAC功能,安装软件.运行某些文件时会弱出警告窗口,与其每次都点击"确定"无视警告内容,还不如彻底关闭UAC功能! UAC的全称是 User Account Control,也就是用户账号控制功能,通过用户授权UAC可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改.在Win 7中,只要进入控制面板,将UAC的滑块拖到底,恼人的UAC就不工作了,但同样的操作在Win 8中就不灵了,这样操作后,笔者发现UAC警告窗口还是会弹出

取消Windows XP系统磁盘容量警告

window 再大的硬盘也有填满的一天,这时电脑就会提醒硬盘空间不足,这种警告有时候显得太烦人. 如果是Win98系统,只要在磁盘图标上单击右键,就可以看到取消选项.不过在WinXP里面,要修改系统注册表来关闭此警告.运行regedit,打开注册表编辑器后,在左栏寻找以下条目: HKEY CURRENT USER\Software\Microsoft\ Windows\CurrentVersion\ Policies\Explorer,在右边一栏,查看键名为NoLowDiskSpaceCheck

谈谈Objective-C的警告

一个有节操的程序员会在乎自己的代码的警告,就像在乎饭碗边上有只死蟑螂那样. --@onevcat 重视编译警告 现在编译器有时候会很吵,而编译器给出的警告对开发者来说是很有用的信息.警告不会阻止继续编译和链接,也不会导致程序不能运行,但是很多时候编译器会先你一步发现问题所在,对于Objective-C来说特别如此.Clang不仅对于明显的错误能够提出警告(比如某方法或者接口未实现),也能对很多潜在可能的问题做出提示(比如方法已经废弃或者有问题的转换),而这些问题在很多时候都可能成为潜在的致命错误

第十章之巨幕页头缩略图与警告框组件_javascript技巧

Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷.下面先给大家说下学习要点. 学习要点: 1.巨幕组件 2.页头组件 3.缩略图组件 4.警告框组件 本节课我们主要学习一下 Bootstrap 的四个组件功能:巨幕组件.页头组件.缩略图组件和警告框组件. 一.巨幕组件 巨幕组件主要是展示网站的关键性区域. //在固定的范围内,有圆角 <div class="co

屏蔽PHP默认设置中的Notice警告的方法_php技巧

PHP的默认设置是显示Notice警告提示,这会造成页面无法正常显示出来.你有没定义的变量直接使用了.不过编PHP的时候本来就不像C++那么严格,编程的时候经常还会利用这个特点. 在把自己辛辛苦苦编写的PHP程序部署到服务器上的时候,相信这样的提示很多人都见过: PHP Notice: Undefined variable PHP Notice: Undefined index 看看吧,你有没定义的变量直接使用了.不过编PHP的时候本来就不像C++那么严格,编程的时候经常还会利用这个特点.PHP

在Windows 2003 中为DNS配置Internet访问

如何从运行 Windows Server 2003 的独立服务器开始运行 Windows Server 2003 的独立服务器成为网络的 DNS 服务器.第一步,为该服务器分配一个静态 Internet 协议 (IP) 地址.DNS 服务器不应该使用动态分配的 IP 地址,因为地址的动态更改会使客户端与 DNS 服务器失去联系. 第 1 步:配置 TCP/IP 单击开始,指向控制面板,指向网络连接,然后单击本地连接. 单击属性. 单击 Internet 协议 (TCP/IP).,然后单击属性.