Oracle Solaris Studio 12.2: C ユーザーガイド

C.1 処理系定義の動作 (J.3)

この従属節で一覧になっている各分野での動作の選択肢を文書化するには、処理系に従う必要があります。処理系定義の動作は次のとおりです。

C.1.1 翻訳 (J.3.1)

C.1.2 環境 (J.3.2)

表 C–1 signal 関数のシグナルの意味

シグナル番号 

デフォルトのイベント 

シグナルの意味  

SIGHUP 1

終了 

ハングアップ 

SIGINT 2

終了 

割り込み (rubout) 

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 

ソケット入出力可能 

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 Virtual Machine 用に予約 1 

SIGJVM2 40

無視 

Java Virtual Machine 用に予約 2 

C.1.3 識別子 (J.3.3)

C.1.4 文字 (J.3.4)

表 C–2 標準の英字エスケープシーケンスの固有値

エスケープシーケンス 

固有値  

\a (アラート) 

\b (バックスペース) 

\f (フォームフィード) 

12 

\n (改行) 

10 

\r (復帰) 

13 

\t (水平タブ) 

\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

byte 

short

halfword 

int

word 

long -m32

word 

long -m64

doubleword 

float

word 

double -m64

doubleword 

double (SPARC) -m32

doubleword 

double (x86) -m32

doubleword 

long double (SPARC) -m32

doubleword 

long double (x86) -m32

word 

long double -m64

quadword 

16 

pointer -m32

word 

pointer -m64

quadword 

long long —m64

doubleword  

long long (x86) -m32

word 

long long (SPARC) -m32

doubleword 

_Complex float

word 

_Complex double -m64

doubleword 

_Complex double (SPARC) -m32

doubleword 

_Complex double (x86) -m32

doubleword 

_Complex long double -m64

quadword 

16 

_Complex long double (SPARC) -m32

quadword 

_Complex long double (x86) -m32

quadword 

_Imaginary float

word 

_Imaginary double -m64

doubleword 

_Imaginary double (x86) -m32

doubleword 

_Imaginary (SPARC) -m32

doubleword 

_Imaginary long double (SPARC) -m32

doubleword 

_Imaginary long double -m64

quadword 

16 

_Imaginary long double (x86) -m32

word 

C.1.10 修飾子 (J.3.10)

C.1.11 前処理指令 (J.3.11)

C.1.12 ライブラリ関数 (J.3.12)

abort によって wait(3C) または waitpid(3C) から使用できるようにされたステータスが、SIGABRT シグナルで終了されたプロセスのステータスになります。abort(3C)、exit(1)、および _Exit(2) のマニュアルページを参照してください。

exit または _Exit によって返される終了ステータスは、呼び出し側のプロセスの親プロセスが行なっていた処理によって異なります。

呼び出し側プロセスの親プロセスが wait(3C) か wait3(3C)、waitid(2)、waitpid(3C) のどれかを実行していて、その SA_NOCLDWAIT フラグの設定がなく、かつ SIGCHLDSIG_IGN に設定していなかった場合、親プロセスは呼び出し側プロセスの終了の通知を受け、ステータスの下位 8 ビット (すなわち、ビット 0377) を使用できるようになります。親が待ち状態ではない場合は、そのあと、親が wait()、wait3()、 waitid()、waitpid() のどれかを実行した時点で子のステータスを利用できるようになります。

C.1.13 アーキテクチャー (J.3.13)

1999 C 規格に明示的に規定されていないオブジェクトの処理系定義のバイト数と順序、符号化方式は、この章の別の場所で定義する必要があります。

表 C–4 sizeof 演算子の結果 (バイト単位)

種類  

バイト単位のサイズ 

char _Bool

short

int

long

long -m64

long long

float

double

long double (SPARC)

16 

long double (x86) -m32

12 

long double (x86) -m64

16 

pointer

pointer -m64

_Complex float

_Complex double

16 

_Complex long double (SPARC)

32 

_Complex long double (x86) -m32

24 

_Complex long double (x86) -m64

32 

_Imaginary float

_Imaginary double

_Imaginary long double (SPARC)

16 

_Imaginary long double (x86) -m32

12 

_Imaginary long double (x86) -m64

16 

C.1.14 ロケール固有の動作 (J.4)

ホスト環境の次の特性はロケール依存で、処理系で文書化する必要があります。

表 C–5 月の名前

January 

May 

September 

February 

June 

October 

March 

July 

November 

April 

August 

December 

曜日の名前は次のとおりです。

表 C–6 曜日の名前と省略名

曜日名  

省略名  

Sunday Thursday 

Sun Thu 

Monday Friday 

Mon Fri 

Tuesday Saturday 

Tue Sat 

Wednesday 

Wed 

時間の書式は次のとおりです。

%H:%M:%S

日付の書式は次のとおりです。

%m/%d/ -Xc モード

午前/午後を指定する書式は、次のとおりです。AM PM