#pragma leaves

适用的调用

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

类别

优化和调整

用途

通知编译器,在调用指定的函数后,此函数从未返回指令。

通过通知编译器它可以忽略函数后的任何代码,伪指令允许额外的优化机会。

此编译指示通常用于定制错误处理函数,在这些函数中,如果迂到特定错误,那么可以终止程序。

注: 当您包含 setjmp.h 头时,编译器会自动插入 #pragma 分 伪指令,用于调用 longjmp 函数系列 (longjmp_longjmpsiglongjmp_siglongjmp)。

语法

读取语法图跳过可视语法图#pragmaleaves( ,功能名称 )

参数

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
	}
}

相关信息