-qrestrict
适用的调用
选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
---|---|---|---|---|
-qrestrict | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
指定此选项相当于将 restrict
关键字添加到 指定的 函数中的指针参数,但您不需要修改源文件。
语法
缺省值
-qnorestrict。 它表示没有限制函数指针参数,除非您在源文件中指定了 restrict 属性。
使用量
如果未指定 function_name,那么会将所有函数中的指针参数视为 restrict。 否则,仅列出的函数中的那些指针参数会被视为 restrict。
function_name 是一个以冒号分隔的列表。
使用此选项可以提高应用程序的性能,但错误地断言此指针限制可能会导致编译器基于错误假设生成不正确的代码。 如果在没有 -qrestrict的情况下重新编译时应用程序正常工作,那么断言可能为 false。 在这种情况下,不应使用此选项。
备注信息:
- 使用 -qnokeyword=restrict 不会影响 -qrestrict 选项。
- 如果同时指定 -qalias=norestrict 和 -qrestrict 选项,那么 -qalias=norestrict 将生效。
预定义的宏
无。
示例
要编译 myprogram.c
,指示编译器限制指针访问,请输入:
xlc -qrestrict myprogram.c
相关信息
- XL C/C++ 语言参考中的 限制类型限定符 。
- XL C/C++ Language Reference中的 关键字 。
- -qkeyword
- -qalias (-fstrict-aliasing)