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 行为

C.1 实现定义的行为 (J.3 )

C.1.1 转换 (J.3.1 )

C.1.2 环境 (J.3.2)

C.1.3 标识符 (J.3.3)

C.1.4 字符 (J.3.4)

C.1.5 整数 (J.3.5)

C.1.6 浮点 (J.3.6)

C.1.7 数组和指针 (J.3.7)

C.1.8 提示 (J.3.8)

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

C.1.10 限定符 (J.3.10)

C.1.11 预处理指令 (J.3.11)

C.1.12 库函数 (J.3.12)

C.1.13 体系结构 (J.3.13)

C.1.14 语言环境特定的行为 (J.4)

D.  C99 的功能

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

F.  ISO C 数据表示法

G.  性能调节

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

索引

C.1 实现定义的行为 (J.3 )

合乎标准的实现需要记录它在该子子句中所列每个区域内的行为选择。下面列出了实现定义的项:

C.1.1 转换 (J.3.1 )

C.1.2 环境 (J.3.2)

表 C-1 signal 函数信号的语义

信号编号
缺省事件
信号的语义
SIGHUP 1
退出
挂起
SIGINT 2
退出
中断(破坏)
SIGQUIT 3
信息转储
退出 (ASCII FS)
SIGILL 4
信息转储
非法指令(找到时不重置)
SIGTRAP 5
信息转储
跟踪陷阱(捕获时不重置)
SIGIOT 6
信息转储
IOT 指令
SIGABRT 6
信息转储
由中止使用
SIGEMT 7
信息转储
EMT 指令
SIGFPE 8
信息转储
浮点异常
SIGKILL 9
退出
中止(找不到,也无法忽略)
SIGBUS 10
信息转储
总线错误
SIGSEGV 11
信息转储
段违规
SIGSYS 12
信息转储
系统调用参数错误
SIGPIPE 13
退出
写在管道上,但无读取者
SIGALRM 14
退出
报警时钟
SIGTERM 15
退出
来自中止的软件终止信号
SIGUSR1 16
退出
用户定义的信号 1
SIGUSR2 17
退出
用户定义的信号 2
SIGCLD 18
忽略
子项状态更改
SIGCHLD 18
忽略
子进程状态更改别名 (POSIX)
SIGPWR 19
忽略
电源故障,重新启动
SIGWINCH 20
忽略
窗口大小更改
SIGURG 21
忽略
紧急套接字条件
SIGPOLL 22
退出
发生了可轮询事件
SIGIO 22
Sigpoll
可能有套接字 I/O
SIGSTOP 23
停止
停止(找不到,也无法忽略)
SIGTSTP 24
停止
来自 tty 的用户停止请求
SIGCONT 25
忽略
停止的进程已继续
SIGTTIN 26
停止
已尝试后台 tty 读
SIGTTOU 27
停止
已尝试后台 tty 写
SIGVTALRM 28
退出
虚拟计时器已过期
SIGPROF 29
退出
分析计时器已过期
SIGXCPU 30
信息转储
已超出 cpu 限制
SIGXFSZ 31
信息转储
已超出文件大小限制
SIGWAITING 32
忽略
线程代码不再使用保留的信号
SIGLWP 33
忽略
线程代码不再使用保留的信号
SIGFREEZE 34
忽略
检查点暂停
SIGTHAW 35
忽略
检查点恢复
SIGCANCEL 36
忽略
线程库使用的抵消信号
SIGLOST 37
忽略
资源丢失(记录锁定丢失)
SIGXRES 38
忽略
超出资源控制(参见 setrctl(2))
SIGJVM1 39
忽略
保留供 Java 虚拟机 1 使用
SIGJVM2 40
忽略
保留供 Java 虚拟机 2 使用

C.1.3 标识符 (J.3.3)

C.1.4 字符 (J.3.4)

表 C-2 标准字母换码序列唯一值

换码序列
唯一值
\a(报警)
7
\b(退格)
8
\f(换页)
12
\n(换行)
10
\r(回车)
13
\t(水平制表符)
9
\v(垂直制表符)
11

C.1.5 整数 (J.3.5)

C.1.6 浮点 (J.3.6)

C.1.7 数组和指针 (J.3.7)

C.1.8 提示 (J.3.8)

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

表 C-3 结构成员的填充和对齐

类型
对齐边界
字节对齐
char_Bool
字节
1
short
半字
2
int
4
long -m32
4
long -m64
双字
8
float
4
double -m64
双字
8
double (SPARC) -m32
双字
8
double (x86) -m32
双字
4
long double (SPARC) -m32
双字
8
long double (x86) -m32
4
long double -m64
四倍长字
16
pointer -m32
4
pointer -m64
四倍长字
8
long long -m64
双字
8
long long (x86) -m32
4
long long (SPARC) -m32
双字
8
_Complex float
4
_Complex double -m64
双字
8
_Complex double (SPARC) -m32
双字
8
_Complex double (x86) -m32
双字
4
_Complex long double -m64
四倍长字
16
_Complex long double (SPARC) -m32
四倍长字
8
_Complex long double (x86) -m32
四倍长字
4
_Imaginary float
4
_Imaginary double -m64
双字
8
_Imaginary double (x86) -m32
双字
4
_Imaginary (SPARC) -m32
双字
8
_Imaginary long double (SPARC) -m32
双字
8
_Imaginary long double -m64
四倍长字
16
_Imaginary long double (x86) -m32
4

C.1.10 限定符 (J.3.10)

C.1.11 预处理指令 (J.3.11)

C.1.12 库函数 (J.3.12)

终止操作可用于 wait(3C) 或 waitpid(3C) 的状态是由 SIGABRT 信号终止的进程状态。请参见 abort(3C)、exit(1) 和 _Exit(2) 手册页。

exit_Exit 返回的终止状态,具体取决于正在进行的调用进程的父进程。

如果调用进程的父进程正在执行 wait(3C)、wait3(3C)、waitid(2) 或 waitpid(3C),并且既未设置 SA_NOCLDWAIT 标志,也未将 SIGCHLD 设置为 SIG_IGN,则它会被告知调用进程的终止,并且它可使用状态的低阶八位(即,位 0377)。如果父进程未处于等待状态,则当父进程随后执行 wait()、wait3()、waitid() 或 waitpid() 时可以使用子进程的状态。

C.1.13 体系结构 (J.3.13)

本章中其他位置的内容定义了 1999 C 标准中未明确指定的对象的实现定义数值、顺序和编码。

表 C-4 sizeof 运算符所得到的结果(以字节计)

类型
大小(以字节计)
char_Bool
1
short
2
int
4
long
4
long -m64
8
long long
8
float
4
double
8
long double (SPARC)
16
long double (x86) -m32
12
long double (x86) -m64
16
pointer
4
pointer -m64
8
_Complex float
8
_Complex double
16
_Complex long double (SPARC)
32
_Complex long double (x86) -m32
24
_Complex long double (x86) -m64
32
_Imaginary float
4
_Imaginary double
8
_Imaginary long double (SPARC)
16
_Imaginary long double (x86) -m32
12
_Imaginary long double (x86) -m64
16

C.1.14 语言环境特定的行为 (J.4)

主机环境的以下特征与特定的语言环境有关,并且要求通过该实现将其编制成文档:

表 C-5 月份名称

1 月
5 月
9 月
2 月
6 月
10 月
3 月
7 月
11 月
4 月
8 月
12 月

指定的周日期名称如下:

表 C-6 周日期及缩写

日期
缩写
星期日 星期四
日 四
星期一 星期五
一 五
星期二 星期六
二 六
星期三

时间的格式为:

%H:%M:%S

日期的格式为:

%m/%d/ -Xc 模式。

上午和下午的格式为: 上午 下午