#pragma expected_value

适用的调用

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

类别

优化和调整

用途

指定函数调用中传递的参数在运行时最有可能采用的值。 编译器可以使用此信息来执行某些优化,例如功能克隆和内联。

语法

读取语法图跳过可视语法图#pragma expected_value(自变量/参数, )

参数

argument
要为其提供期望值的参数的名称。 该参数必须是简单的内置整数,布尔值,字符或浮点类型。
value
表示您期望的值的常量字面值很可能由参数在运行时采用。 只要是编译时常量表达式, value 就可以是表达式。

使用量

该伪指令必须出现在函数定义的主体中第一个语句 (包括声明语句) 之前。 它在嵌套函数中不受支持。

如果指定的期望值类型与参数变量的声明类型的期望值不同,那么仅当允许时,才会隐式转换该值。 否则,将发出警告。

对于将提供的每个参数,期望值限制为一个伪指令。 将不提供期望值的参数不需要伪指令。

示例

以下示例告诉编译器,参数 ab 的最可能的值分别为 1 和 0:
int func(int a,int b)
{
#pragma expected_value(a,1)
#pragma expected_value(b,0)
...
...
}

相关信息