首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用_CRT_SECURE_NO_WARNINGS

如何使用_CRT_SECURE_NO_WARNINGS
EN

Stack Overflow用户
提问于 2014-03-17 09:15:08
回答 7查看 393.3K关注 0票数 98

我用几行代码在向导生成的简单MFC窗口应用程序中编译了错误:

错误C4996:'strncpy':这个函数或变量可能不安全。考虑使用strncpy_s代替。若要禁用弃用,使用_CRT_SECURE_NO_WARNINGS。有关详细信息,请参阅联机帮助。

我设置了Configuration Properties>>C/C++>>Preporocessor>>Preprocessor Definitions>> _CRT_NONSTDC_NO_WARNINGS

但这没什么用。我有另一个非常接近的项目,它只在这里生成警告,而且它没有_CRT_NONSTDC_NO_WARNINGS定义。

只有项目之间的不同是向导中的几个不同选项。

为什么_CRT_NONSTDC_NO_WARNINGS在第一个项目中没有帮助,为什么第二个项目在没有这个定义的情况下编译时没有问题?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-03-17 09:37:26

加法

配置Properties>>C/C++>>Preporocessor>>Preprocessor Definitions>> _CRT_SECURE_NO_WARNINGS

票数 146
EN

Stack Overflow用户

发布于 2015-02-15 10:59:03

在"Project -> Properties -> C/C++ ->预处理器->预处理器定义“下添加_CRT_SECURE_NO_WARNINGS

票数 96
EN

Stack Overflow用户

发布于 2015-03-20 16:05:42

如果您在Visual 2012或更高版本中,则在属性页-> C/C++ -> General下有一个附加设置“SDL检查”

其他安全开发生命周期(SDL)建议检查;包括启用额外的安全代码生成特性和额外的与安全性相关的错误警告。

它默认为YES --原因是,您应该使用strncpy的安全版本。如果将此更改为“否”,则在使用不安全版本时不会出现错误。

SDL checks in vs2012 and later

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22450423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档