文档信息
前言
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 const 和 volatile
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 之间的差异
索引
本章提供的信息可以帮助您移植 K&R(Kerigan 和 Ritchie)风格 C 语言应用程序,以遵循 9899:1990 ISO/IEC C 标准。本章提供的信息假定您因不想遵循更新的 9899:1999 ISO/IEC C 标准而在使用 -xc99=none。C 编译器缺省为 -xc99=all,支持 9899:1999 ISO/IEC C 标准。