-qeh (-fexceptions)(仅限 C++)

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-qeh    
-fexceptions      
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

对象代码控制

等效编译指示

无。

用途

基于 Clang 的前端开始 -fexceptions 选项用于控制编译模块中是否允许异常处理。 基于 Clang 的前端端 -qeh 选项用于控制编译模块中是否启用异常处理。

语法

读取语法图跳过可视语法图 -f exceptionsno-exceptions
读取语法图跳过可视语法图 -q eh=v6v5noeh

缺省值

-qeh=v6

参数

v6
生成与 VisualAge® C++ V6.0兼容的异常处理代码,用于正确处理嵌套在其他 catch 块中的 try-catch 块。
v5
生成与 VisualAge C++ V5.0兼容的异常处理代码。
指定不带子选项的 -qeh 等同于 -qeh=v6

使用量

-qeh 生效时,将启用异常处理。 如果程序不使用 C++ 结构化异常处理,那么可以使用 -qnoeh 进行编译,以防止生成应用程序不需要的代码。

基于 Clang 的前端开始 -fexceptions 和 的区别在于, 允许异常处理,而 则通知编译器需要处理异常。 -qeh -fexceptions -qeh 当特定编译过程中不允许出现异常时,编译器会认为无需处理异常;异常可能源自单独编译的代码,但仍然会发生。基于 Clang 的前端端

预定义的宏

-qeh 生效时,针对 1 预定义 __EXCEPTIONS; 否则,未定义 __EXCEPTIONS。

相关信息