通常在哪里找到_SECURE_SCL?

时间:2014-10-12 23:10:56

标签: c++ visual-c++ visual-studio-2005

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

1 个答案:

答案 0 :(得分:2)

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

  • 如果_ITERATOR_DEBUG_LEVELHAS_ITERATOR_DEBUGGING都未定义,则HAS_ITERATOR_DEBUGGING默认为调试版本中的1
  • 如果_SECURE_SCL未定义,HAS_ITERATOR_DEBUGGING定义为1,则_SECURE_SCL默认为1

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