首页 > 技术文章 > Visual Studio SDL检查

zyk1113 2020-11-09 13:30 原文

问题描述:

  在用Visual Studio 2013写程序时,将一个负数赋值给int导致编译错误:error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型。

 

 原因:

  工程 -> 属性 -> C++ -> 常规 -> SDL检查,设置为否,重新编译即可。

SDL:

  Security Development Lifecycle,安全开发生命周期检查,微软在VS2012新推出的东西,为了能更好的监管开发者的代码安全,如果勾选了这一项则将严格按照SDL的规则编译代码,会有一些以前常用的函数无法通过编译。

 

推荐阅读