#pragma leaves
适用的调用
| 编译指示 (pragma) | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
#pragma leaves |
✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
用途
通知编译器,在调用指定的函数后,此函数从未返回指令。
通过通知编译器它可以忽略函数后的任何代码,伪指令允许额外的优化机会。
此编译指示通常用于定制错误处理函数,在这些函数中,如果迂到特定错误,那么可以终止程序。
注: 当您包含 setjmp.h 头时,编译器会自动插入 #pragma 分 伪指令,用于调用
longjmp 函数系列 (longjmp, _longjmp, siglongjmp和 _siglongjmp)。语法
参数
- function_name
- 在调用该函数之后未返回到指令的函数的名称。
缺省值
不适用。
示例
#pragma leaves(handle_error_and_quit)
void test_value(int value)
{
if (value == ERROR_VALUE)
{
handle_error_and_quit(value);
TryAgain(); // optimizer ignores this because
// never returns to execute it
}
} 