"use -D_SCL_SECURE_NO_WARNINGS"是什么意思?

What does "use -D_SCL_SECURE_NO_WARNINGS" mean?

本文关键字:是什么 意思 WARNINGS SECURE use SCL NO      更新时间:2023-10-16

我在尝试编译曲线压缩程序时遇到错误,错误编号C4996,使用参数调用函数可能不安全。它告诉我使用上面的内容。错误来自xutility头文件,我以前从未见过它。这是我必须输入控制台的标志吗?网上根本没有提到它。。。

-D是一个命令行编译器标志,它会将文本的其余部分视为代码中有#define。

在解决方案资源管理器中,右键单击项目,选择"属性"。项目属性页将打开。展开左侧树中的">C/C++"条目,然后选择其下的"预处理器"。右侧窗格中的顶部条目应为"预处理器定义"。在该编辑框中,添加_SCL_SECURE_NO_WARNINGS,用分隔符将其与其他条目分隔开;

如果您想使用,我还想添加

#define _SCL_SECURE_NO_WARNINGS

直接在代码中,必须将其放在包含头之前。或者你可以使用

#pragma warning(disable:4996)

-D的意思是"定义宏",在本例中为_SCL_SECURE_NO_WARNINGS。这意味着代码中有一个

#if defined(_SCL_SECURE_NO_WARNINGS)

行。如果您想在VS内部执行此操作,请转到项目的属性页,在其中一个选项卡下应该有一个添加新定义的位置。应该已经列出了一些(如DEBUG(。在那里添加_SCL_SECURE_NO_WARNINGS

-D是编译器标志或宏,就像您在源代码中定义的那样。

-D_SCL_SECURE_NO_WARNINGS定义_SCL_SECURE_NO _WARNING宏。

有关_SCL_SECURE_NO_WARNINGS宏的更多详细信息,请查看下面的链接。https://devblogs.microsoft.com/cppblog/why-am-i-getting-these-_scl_secure_no_warnings-messages/