Visual Studio 编译器警告(级别 3)C4996

来自泡泡学习笔记
跳到导航 跳到搜索

你的代码使用标记为“已弃用”的函数、类成员、变量或 typedef。 符号是使用 __declspec(deprecated) 修饰符或 C++14 deprecated 属性弃用的。 实际的 C4996 警告消息由声明的 deprecated 修饰符或属性指定。


注解

Visual Studio 库中的许多函数、成员函数、函数模板和全局变量已弃用。 某些函数/变量(例如 POSIX 和 Microsoft 特定的函数)被弃用的原因是它们现在使用不同的偏好名称。 某些 C 运行时库函数被弃用的原因是它们不安全,而现在具有更安全的变体。 其他函数/变量被弃用的原因是它们已过时。 弃用消息通常包括已弃用函数或全局变量的建议替换项。

/sdl(启用附加安全检查)编译器选项会将此警告升级为错误。


关闭警告

若要解决 C4996 问题,我们通常建议更改代码。 请改用建议的函数和全局变量。 如果出于可移植性原因而需要使用现有的函数或变量,可以关闭警告。


关闭针对特定代码行的警告

若要关闭针对特定代码行的警告,请使用 warning pragma #pragma warning(suppress : 4996)


在文件中关闭警告

若要在文件中针对随后的所有内容关闭警告,请使用警告 pragma #pragma warning(disable : 4996)


在命令行生成中关闭警告

若要在命令行生成中全局关闭警告,请使用 /wd4996 命令行选项。


在 Visual Studio 中关闭针对项目的警告

若要关闭 Visual Studio IDE 中整个项目的警告,请执行以下操作:

  1. 打开项目的“属性页”对话框。 有关如何使用“属性页”对话框的信息,请参阅属性页。
  2. 选择“配置属性”>“C/C++”>“高级”属性页。
  3. 编辑“禁用特定警告”属性以添加 4996。 选择“确定”以应用更改。