【转】VS 安全开发生命周期(SDL)检查

VS2012引入的新功能——SDL检查,旨在提升代码安全性,严格编译规则,可能导致旧代码不兼容。启用SDL检查会将某些函数如scanf视为错误,增加缓冲区溢出检测,自动初始化删除指针和对象,增强程序健壮性,但可能影响老版本程序的编译。开发者可在项目属性中开启或关闭SDL检查。
摘要由CSDN通过智能技术生成

【转】VS 安全开发生命周期(SDL)检查

前面在学习使用google的protobuf时在VS2012中一直无法编译编译通过,经过查找一些资料原来发现,并不是protobuf的问题,而是自己在使用VS2012时,没有完全了解VS2012的强大功能,和跟以前VS2010的差别,导致无法编译通过。

 

现在就来说说为什么没有编译通过,在VS2012创建项目时,会有一个勾选项,叫做“安全开发生命周期(SDL)检查”,这个东西是微软在VS2012新推出的东西,为了是能更好的监管开发者的代码安全,如果勾选上这一项,那么他将严格按照SDL的规则编译代码,会有一些以前常用的函数无法通过编译,比如在VS2010中的scanf是warning那么在VS2012中就是error了。

 

查看MSDN中对SDL的描述,SDL检查会视以下告警为错误:

 

/sdl 启用警告

等效的命令行开关

描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值