Oracle® Solaris Studio 12.4:C 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

2.11.23 returns_new_memory

#pragma returns_new_memory (funcname[, funcname])

该 pragma 断言指定函数的返回值在调用点上不使用任何内存作为别名。实际上,该调用返回一个新存储单元。通过此信息,优化器可以更好地跟踪指针值和说明内存位置,从而改善循环的调度、流水线作业和并行化。然而,如果断言为假,则程序的行为未定义。

只有在使用原型或空参数列表声明指定的函数之后才允许使用该 pragma,如下例所示。

void *malloc(unsigned);
#pragma returns_new_memory(malloc)