错误C4996

1. 解决方法:

在项目处右键点击找到属性;
点击配置属性;
点击C/C++在右侧找到SDL检查点击最右端小箭头,将其改成否。


下面这个好像是第二种解决方法
项目-->项目属性-->C/C++-->预处理器定义
添加:_CRT_NONSTDC_NO_DEPRECATE和_CRT_SECURE_NO_WARNINGS

我也不知道为什么之前写的博客里面东西变了...
大家按照上面第一个方法改掉就行了

解决方法:
#pragma warning(disable:4996)

2. 问题出现原因:

创建项目时,会有一个勾选项,叫做“安全开发生命周期(SDL)检查”,这个东西是微软在VS2012新推出的东西,为了是能更好的监管开发者的代码安全,如果勾选上这一项,那么他将严格按照SDL的规则编译代码,会有一些以前常用的函数无法通过编译,比如在VS2010中的scanf是warning那么在VS2012中就是error了。
  
若要在 Visual Studio 中定义预处理器宏:
打开你的项目属性页对话框,展开配置属性 > C/c + + > 预处理器,在中预处理器定义属性,添加宏名称。 选择“确定” 进行保存,然后重新生成项目。
若要仅在特定源文件中定义的宏,请添加一个行如#define EXAMPLE_MACRO_NAME包含的头文件的任意行之前。

以下内容来源于Microsoft Visual Studio 2017

这些是由 C 运行时库和标准库,但未详尽列出生成的一些常见 C4996 消息:
1:POSIX 函数名称

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值