-qeh (-fexceptions)(仅限 C++)
适用的调用
选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
---|---|---|---|---|
-qeh | ✓ | ✓ | ||
-fexceptions | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
-fexceptions 选项用于控制编译模块中是否允许异常处理。
-qeh 选项用于控制编译模块中是否启用异常处理。
语法
缺省值
-qeh=v6
参数
- v6
- 生成与 VisualAge® C++ V6.0兼容的异常处理代码,用于正确处理嵌套在其他 catch 块中的 try-catch 块。
- v5
- 生成与 VisualAge C++ V5.0兼容的异常处理代码。
使用量
当 -qeh 生效时,将启用异常处理。 如果程序不使用 C++ 结构化异常处理,那么可以使用 -qnoeh 进行编译,以防止生成应用程序不需要的代码。
-fexceptions 和 的区别在于, 允许异常处理,而 则通知编译器需要处理异常。 -qeh -fexceptions -qeh 当特定编译过程中不允许出现异常时,编译器会认为无需处理异常;异常可能源自单独编译的代码,但仍然会发生。
预定义的宏
当 -qeh 生效时,针对 1 预定义 __EXCEPTIONS; 否则,未定义 __EXCEPTIONS。