Disabling Warnings generated via _CRT_SECURE_NO_DEPRECATE(禁用通过 _CRT_SECURE_NO_DEPRECATE 生成的警告)
问题描述
禁用通过 _CRT_SECURE_NO_DEPRECATE 生成的警告的最佳方法是什么,以便轻松恢复它们并在 Visual Studio 版本中工作?
What is the best way to disable the warnings generated via _CRT_SECURE_NO_DEPRECATE that allows them to be reinstated with ease and will work across Visual Studio versions?
推荐答案
如果你不想污染你的源代码(毕竟这个警告只在微软编译器中出现),添加 _CRT_SECURE_NO_WARNINGS 符号通过项目"->属性"->配置属性"->C/C++"->预处理器"->预处理器定义"到您的项目设置.
If you don't want to pollute your source code (after all this warning presents only with Microsoft compiler), add _CRT_SECURE_NO_WARNINGS symbol to your project settings via "Project"->"Properties"->"Configuration properties"->"C/C++"->"Preprocessor"->"Preprocessor definitions".
您也可以在包含生成此警告的头文件之前定义它.你应该添加这样的东西
Also you can define it just before you include a header file which generates this warning. You should add something like this
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
请注意,请确保您了解此警告的含义,并且如果您不打算使用 MSVC 以外的其他编译器,请考虑使用更安全的函数版本,即 strcpy_s 而不是 strcpy.
And just a small remark, make sure you understand what this warning stands for, and maybe, if you don't intend to use other compilers than MSVC, consider using safer version of functions i.e. strcpy_s instead of strcpy.
这篇关于禁用通过 _CRT_SECURE_NO_DEPRECATE 生成的警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:禁用通过 _CRT_SECURE_NO_DEPRECATE 生成的警告
基础教程推荐
- CString 到 char* 2021-01-01
- 通过引用传递 C++ 迭代器有什么问题? 2022-01-01
- 我应该对 C++ 中的成员变量和函数参数使用相同的名称吗? 2021-01-01
- 为什么派生模板类不能访问基模板类的标识符? 2021-01-01
- 如果我为无符号变量分配负值会发生什么? 2022-01-01
- 初始化列表*参数*评估顺序 2021-01-01
- 为什么 RegOpenKeyEx() 在 Vista 64 位上返回错误代码 2021-01-01
- 非静态 const 成员,不能使用默认赋值运算符 2022-10-09
- GDB 显示调用堆栈上函数地址的当前编译二进制文 2022-09-05
- 为什么 typeid.name() 使用 GCC 返回奇怪的字符以及如 2022-09-16
