#pragma expected_value
适用的调用
| 编译指示 (pragma) | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
#pragma expected_value |
✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
优化和调整用途
指定函数调用中传递的参数在运行时最有可能采用的值。 编译器可以使用此信息来执行某些优化,例如功能克隆和内联。
语法
参数
- argument
- 要为其提供期望值的参数的名称。 该参数必须是简单的内置整数,布尔值,字符或浮点类型。
- value
- 表示您期望的值的常量字面值很可能由参数在运行时采用。 只要是编译时常量表达式, value 就可以是表达式。
使用量
该伪指令必须出现在函数定义的主体中第一个语句 (包括声明语句) 之前。 它在嵌套函数中不受支持。
如果指定的期望值类型与参数变量的声明类型的期望值不同,那么仅当允许时,才会隐式转换该值。 否则,将发出警告。
对于将提供的每个参数,期望值限制为一个伪指令。 将不提供期望值的参数不需要伪指令。
示例
以下示例告诉编译器,参数
a 和 b 的最可能的值分别为 1 和 0:int func(int a,int b)
{
#pragma expected_value(a,1)
#pragma expected_value(b,0)
...
...
} 