JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:C 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  C 编译器介绍

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

2.1 常量

2.1.1 整型常量

2.1.2 字符常量

2.2 链接程序作用域说明符

2.3 线程局部存储说明符

2.4 浮点,非标准模式

2.5 作为值的标签

2.6 long long 数据类型

2.6.1 输出 long long 数据类型

2.6.2 常见算术转换

2.7 switch 语句中的 case 范围

2.8 断言

2.9 支持的属性

2.10 警告和错误

2.11 Pragma

2.11.1 align

2.11.2 c99

2.11.3 does_not_read_global_data

2.11.4 does_not_return

2.11.5 does_not_write_global_data

2.11.6 dumpmacros

2.11.7 end_dumpmacros

2.11.8 error_messages

2.11.9 fini

2.11.10 hdrstop

2.11.11 ident

2.11.12 init

2.11.13 inline

2.11.14 int_to_unsigned

2.11.15 must_have_frame

2.11.16 nomemorydepend

2.11.17 no_side_effect

2.11.18 opt

2.11.19 pack

2.11.20 pipeloop

2.11.21 rarely_called

2.11.22 redefine_extname

2.11.23 returns_new_memory

2.11.24 unknown_control_flow

2.11.25 unroll

2.11.26 warn_missing_parameter_info

2.11.27 weak

2.12 预定义的名称

2.13 保留 errno 的值

2.14 扩展

2.14.1 _Restrict 关键字

2.14.2 _ _asm 关键字

2.14.3 __inline__inline__

2.14.4 __builtin_constant_p()

2.14.5 __FUNCTION____PRETTY_FUNCTION__

2.15 环境变量

2.15.1 PARALLEL

2.15.2 SUN_PROFDATA

2.15.3 SUN_PROFDATA_DIR

2.15.4 TMPDIR

2.16 如何指定 include 文件

2.16.1 使用 -I- 选项更改搜索算法

2.16.1.1 警告

2.17 在独立式环境中编译

2.18 对 Intel MMX 和扩展的 x86 平台内部函数的编译器支持

3.  并行化 C 代码

4.  lint 源代码检验器

5.  基于类型的别名分析

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.  Oracle Solaris Studio C:K&R C 与 ISO C 之间的差异

索引

2.13 保留 errno 的值

使用 -fast,编译器可以用不设置 errno 变量的等效优化代码自由替换对浮点函数的调用。此外,-fast 还定义宏 __MATHERR_ERRNO_DONTCARE,请求编译器忽略错误,从而确保 errno 和所引发的浮点异常的有效性。因此,依赖于 errno 的值或者浮点函数调用之后的正确浮点异常的用户代码会产生不一致的结果。

解决此问题的一种方法是避免使用 -fast 编译此类代码。但是,如果需要 -fast 优化并且代码依赖于浮点库调用后正确设置的 errno 值,则应使用以下选项进行编译

-xbuiltin=none -U__MATHERR_ERRNO_DONTCARE -xnolibmopt -xnolibmil

这些选项在命令行上应跟在 -fast 之后,以禁止编译器优化此类库调用,并确保正确处理 errno