Where is _SECURE_SCL normally found?

Where is _SECURE_SCL normally found?

本文关键字:found normally SECURE is Where SCL      更新时间:2023-10-16

我确信在使用Visual Studio 2005构建的项目中存在一些std::vector边界问题。根据Microsoft文档,我可以使用_SECURE_SCL控制边界检查。它向我保证,它在默认情况下是启用的——这是由某个地方的#define _SECURE_SCL 1提供的。我当然找不到它,如果我把这个定义滑到stdafx.h中,它不会与任何东西冲突。我是不是错过了什么?使用_SECURE_SCL的"正常"方式是什么?

默认情况下,它在头文件yvals.h中定义。

  • 如果_ITERATOR_DEBUG_LEVELHAS_ITERATOR_DEBUGGING都未定义,则在调试构建中,HAS_ITERATOR_DEBUGGING默认为1
  • 如果_SECURE_SCL未定义,HAS_ITERATOR_DEBUGGING定义为1,则_SECURE_SCL默认为1

如果定义了_ITERATOR_DEBUG_LEVEL,则会产生不同的规则。有关详细信息,请参阅头文件。