/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 开发环境中设置此编译器选项

  1. 打开项目的**“属性页”**对话框。 有关详细信息,请参见如何:打开项目属性页

  2. 单击**“C/C++”**文件夹。

  3. 单击**“语言”**属性页。

  4. 修改**“禁用语言扩展”**属性。

以编程方式设置此编译器选项

请参见

参考

编译器选项

设置编译器选项