/Za、/Ze(禁用语言扩展)

更新:2007 年 11 月

/Za 编译器选项为与 ANSI C 或 ANSI C++ 不兼容的语言构造发出错误。默认的 /Ze 编译器选项启用 Microsoft 扩展。

/Za
/Ze

备注

说明:

/Ze 选项在 Visual C++ 2005 中已不推荐使用。有关更多信息,请参见Visual C++ 2005 中不推荐使用的编译器选项

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++ 一致性问题的更多信息,请参见 Compatibility and Compliance Issues in Visual C++

在 Visual Studio 开发环境中设置此编译器选项

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

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

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

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

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

请参见

参考

编译器选项

设置编译器选项