JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.2:C 用户指南
search filter icon
search icon

文档信息

前言

1.  C 编译器介绍

2.  特定于 C 编译器实现的信息

3.  并行化 C 代码

4.  lint 源代码检验器

5.  基于类型的别名分析

5.1 介绍基于类型的分析

5.2 使用 Pragma 以便更好地控制

5.2.1 #pragma alias_level level (list)

5.2.1.1 #pragma alias (type, type [, type]...)

5.2.1.2 #pragma alias (pointer, pointer [, pointer] ...)

5.2.1.3 #pragma may_point_to (pointer, variable [, variable] ...)

5.2.1.4 #pragma noalias (type, type [, type]...)

5.2.1.5 #pragma noalias (pointer, pointer [, pointer] ...)

5.2.1.6 #pragma may_not_point_to (pointer, variable [, variable] ...)

5.3 使用 lint 检查

5.3.1 标量指针向结构指针的强制类型转换

5.3.2 空指针向结构指针的强制类型转换

5.3.3 结构字段向结构指针的强制类型转换

5.3.4 要求显式别名

5.4 内存引用约束的示例

5.4.1 第一个示例

5.4.2 第二个示例

5.4.3 第三个示例

5.4.4 第四个示例

5.4.5 第五个示例

5.4.6 第六个示例

5.4.7 第七个示例

6.  转换为 ISO C

7.  转换应用程序以适用于 64 位环境

8.  cscope:交互检查 C 程序

A.  按功能分组的编译器选项

B.  C 编译器选项参考

C.  实现定义的 ISO/IEC C99 行为

D.  支持的 C99 功能

E.  实现定义的 ISO/IEC C90 行为

F.  ISO C 数据表示法

G.  性能调节

H.  K&R Solaris Studio C 与 Solaris Studio ISO C 之间的差异

索引

5.1 介绍基于类型的分析

可以使用 -xalias_level 选项指定七个别名级别之一。每个级别指定一组关于您在 C 程序中使用指针的方法的属性。

当您使用 -xalias_level 选项的较高级别进行编译时,编译器会对您的代码中的指针进行更广泛的假定。当编译器产生较少假定时,您有更大的编程自由。但是,这些狭窄假定产生的优化可能不会导致运行环境性能的显著提高。如果您依照 -xalias_level 选项的更高级别的编译器假定进行编码,则更有可能使产生的优化提高运行环境性能。

-xalias_level 选项指定应用于每个转换单元的别名级别。在越详细越有益的情况下,您可以使用新的 pragma 覆盖已生效的别名级别,以便可以明确指定转换单元中个体类型或指针变量之间的别名关系。如果转换单元中指针的使用对应于某个可用别名级别,但是一些特定指针变量的使用方法是某个可用级别不允许的不规则方法,这些 pragma 非常有用。