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 编译器实现的信息

3.  并行化 C 代码

4.  lint 源代码检验器

5.  基于类型的别名分析

6.  转换为 ISO C

6.1 基本模式

6.1.1 -Xc

6.1.2 -Xa

6.1.3 -Xt

6.1.4 -Xs

6.2 新式函数原型

6.2.1 编写新代码

6.2.2 更新现有代码

6.2.3 混合使用的注意事项

6.3 带有可变参数的函数

6.4 提升:无符号保留与值保留

6.4.1 一些历史背景

6.4.2 编译行为

6.4.3 示例:强制类型转换的使用

6.4.4 示例:相同的结果,不发出警告

6.4.5 整型常量

6.4.6 示例:整形常量

6.5 标记化和预处理

6.5.1 ISO C 转换阶段

6.5.2 旧 C 转换阶段

6.5.3 逻辑源代码行

6.5.4 宏替换

6.5.5 使用字符串

6.5.6 标记粘贴

6.6 constvolatile

6.6.1 仅适用于 lvalue 的类型

6.6.2 派生类型中的类型限定符

6.6.3 const 意味着 readonly

6.6.4 const 用法示例

6.6.5 volatile 用法示例

6.7 多字节字符和宽字符

6.7.1 亚洲语言需要多字节字符

6.7.2 编码变化 (Encoding Variations)

6.7.3 宽字符

6.7.4 C 语言特征

6.8 标准头文件和保留名称

6.8.1 标准头文件

6.8.2 保留供实现使用的名称

6.8.3 保留供扩展使用的名称

6.8.4 可安全使用的名称

6.9 国际化

6.9.1 语言环境

6.9.2 setlocale() 函数

6.9.3 更改的函数

6.9.4 新函数

6.10 表达式中的分组和求值

6.10.1 表达式定义

6.10.2 K&R C 重新整理许可证

6.10.3 ISO C 规则

6.10.4 括号用法

6.10.5 As If 规则

6.11 不完全类型

6.11.1 类型

6.11.2 完成不完全类型

6.11.3 声明

6.11.4 表达式

6.11.5 使用原因

6.11.6 示例:不完全类型

6.12 兼容类型和复合类型

6.12.1 多个声明

6.12.2 分别编译兼容性

6.12.3 单编译兼容性

6.12.4 兼容指针类型

6.12.5 兼容数组类型

6.12.6 兼容函数类型

6.12.7 特殊情况

6.12.8 复合类型

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 之间的差异

索引

6.1 基本模式

ISO C 编译器允许同时使用旧式和新式 C 代码。如果您使用下列 -X(注意大小写)选项并且 -xc99=none,则编译器提供不同的 ISO C 标准一致性级别。-Xa 是缺省模式。请注意,编译器的缺省模式为 -xc99=all,因此在设置每个 -X 选项的情况下编译器的行为取决于 -xc99 的设置。

6.1.1 -Xc

c = 一致性)在没有 K&R C 兼容性扩展的情况下,在最大程度上与 ISO C 一致。编译器对使用 ISO C 构造的程序发出错误和警告。

6.1.2 -Xa

ISO C 与 K&R C 兼容性扩展,进行了 ISO C 所需的语义更改。在 K&R C 与 ISO C 为同一构造指定了不同语义的情况下,编译器会发出有关该冲突的警告并使用 ISO C 解释。这是缺省模式。

6.1.3 -Xt

(t = transition) ISO C 与 K&R C 兼容性扩展,进行 ISO C 所需的语义更改。在 K&R C 与 ISO C 为同一构造指定了不同语义的情况下,编译器会发出有关该冲突的警告并使用 K&R C 解释。

6.1.4 -Xs

(s = K&R C) 编译的语言包括与 ISO K&R C 兼容的所有功能。编译器会对在 ISO C 与 K&R C 之间具有不同行为的所有语言构造发出警告。