Jua*_*nez 171 c++ visual-studio precompiler
是否有一种方法可以默认设置所有项目,删除使用scanf()等函数时出现的预编译器安全警告.我发现你可以通过在项目选项中添加一行或#define _CRT_SECURE_NO_WARNINGS在代码的开头添加一行来实现.
我发现自己一再创建解决编程竞赛的新项目,并且真的很烦人(并且花费宝贵的时间)来添加:
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
Run Code Online (Sandbox Code Playgroud)
在代码的开头,或者每次我开始一个新项目时在预编译器选项中设置它.
use*_*100 268
在解决方案资源管理器中标记所有所需项目.
按Alt-F7或右键单击解决方案资源管理器,然后选择"属性"
配置:所有配置
单击预处理器定义行以调用其编辑器
选择编辑...
将"_CRT_SECURE_NO_WARNINGS"复制到顶部的"预处理器定义"白色框中.

Sha*_*314 80
这可能是因为我还是VS的新手,并且绝对是C的新手,但是唯一允许我构建的是添加
#pragma warning(disable:4996)
Run Code Online (Sandbox Code Playgroud)
在我的文件的顶部,这抑制了我用sprintf得到的C4996错误
有点讨厌,但对我的一小部分代码来说是完美的,到目前为止最简单.
我在这里读到它:https://msdn.microsoft.com/en-us/library/2c8f766e.aspx
Cap*_*ous 28
不是自动的,没有.你可以创建一个项目模板作为BlueWandered建议或创建,您可以使用您当前和将来的所有项目中的自定义属性表.
_CRT_SECURE_NO_WARNINGS.现在,只要您创建新项目,就像这样添加此属性表...
这样做的好处是,您不仅可以在一个地方管理常用设置,而且只要您更改设置,它们就会传播到使用它的所有项目.如果您_CRT_SECURE_NO_WARNINGS想要在项目中使用很多像Boost这样的设置,那么这很方便.
小智 20
这里的所有解决方案都无法在我的VS2013上运行,但是我#define _CRT_SECURE_NO_WARNINGS在stdafx.h之前放置了#pragma once所有警告并且所有警告都被禁止了.注意:我只编写用于支持我的研究的原型设计代码,因此请确保在编写代码时理解此方法的含义.
希望这可以帮助
ing*_*nti 10
我对VS 2017的两分钱:
我可以在这些样式中确认它在stdafx.h中有效:
一个)
#pragma once
#define _CRT_SECURE_NO_WARNINGS 1
#define _WINSOCK_DEPRECATED_NO_WARNINGS 1
Run Code Online (Sandbox Code Playgroud)
b)
#define _CRT_SECURE_NO_WARNINGS 1
#define _WINSOCK_DEPRECATED_NO_WARNINGS 1
#pragma once
Run Code Online (Sandbox Code Playgroud)
(我已为MSDN网络调用添加了另一个定义..)当然我更喜欢a).
我可以确认:#define _CRT_SECURE_NO_WARNINGS(没有值)不工作.
PS的真正要点是将这些定义放在BEFORE函数声明之前,即在*.h之前
| 归档时间: |
|
| 查看次数: |
670234 次 |
| 最近记录: |