/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 开发环境中设置此编译器选项
打开此项目的“属性页”对话框。有关详细信息,请参见如何:打开项目属性页。
单击“C/C++”文件夹。
单击“语言”属性页。
修改“禁用语言扩展”属性。