/Za、/Ze(禁用语言扩展)
/Za 编译器选项为与 ANSI C 或 ANSI C++ 不兼容的语言构造发出错误。 默认的 /Ze 编译器选项启用 Microsoft 扩展。
/Za
/Ze
备注
备注
/Ze 选项已弃用。有关更多信息,请参见 Deprecated Compiler Options。
Visual C++ 编译器提供许多在 ANSI C 或 ANSI C++ 标准中指定的那些功能以外的功能。 这些功能统称为 C 和 C++ 的 Microsoft 扩展。 这些扩展在指定 /Ze 选项时可用,而在指定 /Za 选项时不可用。 有关更多信息,请参见Microsoft C 和 C++ 扩展。
如果打算将程序移植到其他环境,请禁用语言扩展。 编译器将扩展关键字视为简单标识符,禁用其他 Microsoft 扩展,并且自动定义 C 程序的 __STDC__ 预定义宏。
与 /Za 一起使用的其他编译器选项可能会影响编译器确保 ANSI 一致性的方式。 例如,/Za 和 /fp(指定浮点行为) 一起使用可能导致意外的行为。
有关用 /Za 获得标准行为的方式,请参见 /Zc 编译器选项。
有关 Visual C++ 一致性问题的更多信息,请参见 兼容性和标准在Visual C++问题。
在 Visual Studio 开发环境中设置此编译器选项
打开项目的**“属性页”**对话框。 有关详细信息,请参见如何:打开项目属性页。
单击**“C/C++”**文件夹。
单击**“语言”**属性页。
修改**“禁用语言扩展”**属性。