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

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

8.  cscope:交互检查 C 程序

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

B.  C 编译器选项参考

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

D.  C99 的功能

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

E.1 与 ISO 标准比较的实现

E.1.1 转换 (G.3.1)

E.1.1.1 (5.1.1.3) Identification of diagnostics(识别诊断):

E.1.2 环境 (G.3.2)

E.1.2.1 (5.1.2.2.1) Semantics of arguments to main(main 的参数的语义):

E.1.2.2 (5.1.2.3) What constitutes an interactive device(交互式设备的要素):

E.1.3 标识符 (G.3.3)

E.1.3.1 (6.1.2) The number of significant initial characters (beyond 31) in an identifier without external linkage(不带外部链接的标识符中的有效初始字符(第 31 个字符之后)的数目):

(6.1.2) The number of significant initial characters (beyond 6) in an identifier with external linkage(带外部链接的标识符中的有效初始字符(第 6 个字符之后)的数目):

E.1.4 字符 (G.3.4)

E.1.4.1 (5.2.1) The members of the source and execution character sets, except as explicitly specified in the Standard(除非标准中明确指定,否则为源代码字符集和执行字符集的成员):

E.1.4.2 (5.2.1.2) The shift states used for the encoding of multibyte characters(用于多字节字符编码的移位状态):

E.1.4.3 (5.2.4.2.1) The number of bits in a character in the execution character set(执行字符集中字符的位数):

E.1.4.4 (6.1.3.4) The mapping of members of the source character set (in character and string literals) to members of the execution character set(源代码字符集成员(用字符和文本字符串表示)至执行字符集成员的映射):

E.1.4.5 (6.1.3.4) The value of an integer character constant that contains a character or escape sequence not represented in the basic execution character set or the extended character set for a wide character constant(包含一个字符的整型字符常量的值或不以基本执行字符集或宽字符常量的扩展字符集表示的换码序列的值):

E.1.4.6 (3.1.3.4) The value of an integer character constant that contains more than one character or a wide character constant that contains more than one multibyte character(包含多个字符的整型字符常量的值或包含多个多字节字符的宽字节常量的值):

E.1.4.7 (6.1.3.4) The current locale used to convert multibyte characters into corresponding wide characters (codes) for a wide character constant(用于针对宽字符常量将多字节字符转换为相应宽字符的当前语言环境):

E.1.4.8 (6.2.1.1) Whether a plain char has the same range of values as signed char or unsigned char(无格式 char 的值范围是与 signed char 相同还是与 unsigned char 相同):

E.1.5 整数 (G.3.5)

E.1.5.1 (6.1.2.5) The representations and sets of values of the various types of integers(各种类型的整数的表示和值集):

E.1.5.2 (6.2.1.2) The result of converting an integer to a shorter signed integer, or the result of converting an unsigned integer to a signed integer of equal length, if the value cannot be represented(值无法表示的情况下,整数转换为较短的带符号整型数的结果,或者无符号整型数转换为同等长度的带符号整型数的结果):

E.1.5.3 (6.3) The results of bitwise operations on signed integers(带符号整型数的按位操作的结果):

E.1.5.4 (6.3.5) The sign of the remainder on integer division(整数除法的余数的符号):

E.1.5.5 (6.3.7) The result of a right shift of a negative-valued signed integral type(负值带符号整型的右移的结果):

E.1.6 浮点 (G.3.6)

E.1.6.1 (6.1.2.5) The representations and sets of values of the various types of floating-point numbers(各种类型的浮点数的表示形式和值集):

E.1.6.2 (6.2.1.3) The direction of truncation when an integral number is converted to a floating-point number that cannot exactly represent the original value(当整数转换为不能精确地表示原始值的浮点数时截断的方向):

E.1.6.3 (6.2.1.4) The direction of truncation or rounding when a floating point number is converted to a narrower floating-point number(当浮点数转换为较窄的浮点数时截断或舍入的方向):

E.1.7 数组和指针 (G.3.7)

E.1.7.1 (6.3.3.4,7.1.1)The type of integer required to hold the maximum size of an array; that is, the type of the sizeof operator, size_t(存放数组的最大大小所需的整型;即 sizeof 运算符的类型 size_t):

E.1.7.2 (6.3.4) The result of casting a pointer to an integer, or vice versa(将指针强制转换为整数的结果,或将整数强制转换为指针的结果):

E.1.7.3 (6.3.6、7.1.1)The type of integer required to hold the difference between two pointers to members of the same array, ptrdiff_t(存放指向同一数组中成员的两个指针之差所需的整型 ptrdiff_t):

E.1.8 寄存器 (G.3.8)

E.1.8.1 (6.5.1) The extent to which objects can actually be placed in registers by use of the register storage-class specifier(可通过使用 register 存储类说明符实际放入寄存器中的对象的范围):

E.1.9 结构、联合、枚举和位字段 (G.3.9)

E.1.9.1 (6.3.2.3) A member of a union object is accessed using a member of a different type(使用不同类型的成员访问的联合对象的成员):

E.1.9.2 (6.5.2.1) The padding and alignment of members of structures(结构成员的填充和对齐)。

E.1.9.3 (6.5.2.1) Whether a plain int bit-field is treated as a signed int bit-field or as an unsigned int bit-field(无格式 int 位字段是视为 signed int 位字段还是视为 unsigned int 位字段处理):

E.1.9.4 (6.5.2.1) The order of allocation of bit-fields within an int(在 int 中位字段的分配顺序):

E.1.9.5 (6.5.2.1) Whether a bit-field can straddle a storageunit boundary(位字段是否可以跨存储单元边界):

E.1.9.6 (6.5.2.2) The integer type chosen to represent the values of an enumeration type(选择用来表示枚举类型的值的整型):

E.1.10 限定符 (G.3.10)

E.1.10.1 (6.5.5.3) What constitutes an access to an object that has volatile-qualified type(什么构成对为 volatile 限定类型的对象的访问):

E.1.11 声明符 (G.3.11)

E.1.11.1 (6.5.4) The maximum number of declarators that may modify an arithmetic, structure, or union type(可修改算术、结构或联合类型的声明数最大值):

E.1.12 语句 (G.3.12)

E.1.12.1 (6.6.4.2) The maximum number of case values in a switch statement(一个 switch 语句中 case 值的最大数目):

E.1.13 预处理指令 (G.3.13)

E.1.13.1 (6.8.1) Whether the value of a singlecharacter character constant in a constant expression that controls conditional inclusion matches the value of the same character constant in the execution character set(控制条件包含的常量表达式中字符常量的值是否与执行字符集内的相同字符常量的值匹配):

E.1.13.2 (6.8.1) Whether such a character constant may have a negative value(这样的字符常量是否可以具有负值):

E.1.13.3 (6.8.2) The method for locating includable source files(定位可包含的源文件的方法):

E.1.13.4 (6.8.2) The support of quoted names for includable source files(对可包含的源文件的带引号名称的支持):

E.1.13.5 (6.8.2) The mapping of source file character sequences(源文件字符序列的映射):

E.1.13.6 (6.8.6) The behavior on each recognized #pragma directive(每个识别的 #pragma 指令的行为):

E.1.13.7 (6.8.8) The definitions for __DATE__ and __TIME__ when, respectively, the date and time of translation are not available(转换的日期和时间分别不可用时 __DATE__ 和 __TIME__ 的定义):

E.1.14 库函数 (G.3.14)

E.1.14.1 (7.1.6) The null pointer constant to which the macro NULL expands(宏 NULL 扩展为的空指针常量):

E.1.14.2 (7.2) The diagnostic printed by and the termination behavior of the assert function(assert 函数输出的诊断及该函数的终止行为):

E.1.14.3 (7.3.1) The sets of characters tested for by the isalnum, isalpha, iscntrl, islower, isprint, and isupper functions(isalnum、isalpha、iscntrl、islower、isprint 和 supper 函数测试的字符集):

E.1.14.4 (7.5.1) The values returned by the mathematics functions on domain errors(发生域错误时数学函数返回的值):

E.1.14.5 (7.5.1) Whether the mathematics functions set the integer expression errno to the value of the macro ERANGE on underflow range errors(在出现下溢范围错误时,数学函数是否将整数表达式 errno 设置为宏 ERANGE 的值):

E.1.14.6 (7.5.6.4) Whether a domain error occurs or zero is returned when the fmod function has a second argument of zero(fmod 函数的第二个参数为零时,发生域错误还是返回零):

E.1.14.7 (7.7.1.1) The set of signals for the signal function(用于 signal 函数的信号集):

E.1.14.8 (7.7.1.1) The default handling and the handling at program startup for each signal recognized by the signal function(针对信号函数识别的每个 signal 的缺省处理和程序启动时的处理):

E.1.14.9 (7.7.1.1) If the equivalent of signal(sig, SIG_DFL); is not executed prior to the call of a signal handler, the blocking of the signal that is performed(如果在调用信号处理程序之前未执行 signal(sig, SIG_DFL) 的等效函数,则阻塞执行的信号):

E.1.14.10 (7.7.1.1) Whether the default handling is reset if the SIGILL signal is received by a handler specified to the signal function(为信号函数指定的处理程序接收到 SIGILL 信号时,是否重置缺省处理):

E.1.14.11 (7.9.2) Whether the last line of a text stream requires a terminating new-line character(文本流的最后一行是否需要终止换行符):

E.1.14.12 (7.9.2) Whether space characters that are written out to a text stream immediately before a new-line character appear when read in(写出到换行符紧前面的文本流中的空格字符在读入时是否出现):

E.1.14.13 (7.9.2) The number of null characters that may be appended to data written to a binary stream(可附加至写入二进制流的数据的空字符数):

E.1.14.14 (7.9.3) Whether the file position indicator of an append mode stream is initially positioned at the beginning or end of the file(附加模式流的文件位置指示器最初位于文件开头还是结尾):

E.1.14.15 (7.9.3) Whether a write on a text stream causes the associated file to be truncated beyond that point(文本流中的写是否导致联合文件在该点之后被截断):

E.1.14.16 (7.9.3) The characteristics of file buffering(文件缓冲的特性):

E.1.14.17 (7.9.3) Whether a zero-length file actually exists(零长度文件是否实际存在):

E.1.14.18 (7.9.3) The rules for composing valid file names(书写有效文件名的规则):

E.1.14.19 (7.9.3) Whether the same file can be open multiple times(同一文件是否可以多次打开):

E.1.14.20 (7.9.4.1) The effect of the remove function on an open file(remove 函数对打开的文件的影响):

E.1.14.21 (7.9.4.2) The effect if a file with the new name exists prior to a call to the rename function(在调用 rename 函数之前已存在具有新名称的文件时的影响):

E.1.14.22 (7.9.6.1) The output for conversion in the fprintf function(fprintf 函数中 %p 转换的输出):

E.1.14.23 (7.9.6.2) The input for conversion in the function(fscanf 函数中 %p 转换的输入):

E.1.14.24 (7.9.6.2) The interpretation of a- character that is neither the first nor the last character in the scan list for %[ conversion in the fscanf function(对既不是 fscanf 函数中 %[ 转换的扫描列表中的第一个字符也不是最后一个字符的 - 字符的解释):

E.1.15 语言环境特定的行为 (G.4)

E.1.15.1 (7.12.1) The local time zone and Daylight Savings Time(本地时区和夏令时):

E.1.15.2 (7.12.2.1) The era for the clock function(clock 函数的年代)

E.1.15.3 (5.2.1) The content of the execution character set, in addition to the required members(执行字符集的内容,以及必需的成员):

E.1.15.4 (5.2.2) The direction of printing(输出方向):

E.1.15.5 (7.1.1) The decimal-point character(小数点字符):

E.1.15.6 (7.3) The implementation-defined aspects of character testing and case mapping functions(字符测试和条件映射函数的实现定义方面):

E.1.15.7 (7.11.4.4) The collation sequence of the execution character set(执行字符集的整理序列):

E.1.15.8 (7.12.3.5) The formats for time and date(时间和日期的格式):

F.  ISO C 数据表示法

G.  性能调节

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

索引

附录 E

实现定义的 ISO/IEC C90 行为

C 编程语言标准 ISO/IEC 9899:1990 指定了采用 C 语言编写的程序的格式并确立了程序的解释。但是,此标准会将很多问题保留为实现定义的问题,即,由于编译器与编译器的不同。本章将详细介绍这些方面的内容。它们很容易与 ISO/IEC 9899:1990 标准本身比较: