最近,我将一些STL代码移植到VS2008时,想要通过定义新的"_SCL_SECURE_NO_WARNINGS"标志来禁用由"std::copy"生成的警告。 有两种方法可以做到这一点:
- 使用编译器开关"/ D",可以在项目属性中指定。 您需要确保在Release和Debug构建中都定义了它,而我经常忘记这样做。 - 通过在相关STL头文件之前以宏的方式定义它,或者为了完全覆盖,在stdafx.h中定义它: #define _SCL_SECURE_NO_WARNINGS
这两种方法都很好,但我想知道是否有任何支持其中一种方法的理由?
- 使用编译器开关"/ D",可以在项目属性中指定。 您需要确保在Release和Debug构建中都定义了它,而我经常忘记这样做。 - 通过在相关STL头文件之前以宏的方式定义它,或者为了完全覆盖,在stdafx.h中定义它: #define _SCL_SECURE_NO_WARNINGS
这两种方法都很好,但我想知道是否有任何支持其中一种方法的理由?