文档信息
前言
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.4.7 第三个示例:整型常量
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 const 和 volatile
6.6.1 类型(仅适用于 lvalue)
6.6.2 派生类型中的类型限定符
6.6.3 const 意味着 readonly
6.6.4 const 用法示例
6.6.5 volatile 意味着精确语义
6.6.6 volatile 用法示例
6.7 多字节字符和宽字符
6.7.1 亚洲语言需要多字节字符
6.7.2 编码变种
6.7.3 宽字符
6.7.4 转换函数
6.7.5 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. K&R Solaris Studio C 与 Solaris Studio ISO C 之间的差异
索引
本章提供的信息可以帮助您移植 K&R 风格 C 语言应用程序,以符合 9899:1990 ISO/IEC C 标准。由于您不想符合更新的 9899:1999 ISO/IEC C 标准,因此本章提供的信息假定您使用 -xc99=none。C 编译器缺省为 -xc99=all,支持 9899:1999 ISO/IEC C 标准。