[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
以下のマクロ群で、コンパイルされるプログラムで使用される基本データ型の 大きさと特徴を定義する。 前節のマクロと違うのは、C 言語、C 言語に関係する言語に固有の特徴を 示すものであり、基本的なストレージ配置を示すものでは ないという点にある。
INT_TYPE_SIZE
ターゲットマシンの int
型の大きさをビット数で表す C の式。
これを定義しない場合は、デフォルトで1ワードになる。
MAX_INT_TYPE_SIZE
ターゲットマシンの int
型の大きさの最大値をビット数であらわしたもの。
定義されていない場合は、デフォルトで INT_TYPE_SIZE
になる。
定義する場合は、INT_TYPE_SIZE
が実行時に取りうる最大の定数値に
定義する。これは、cpp
で使われる。
SHORT_TYPE_SIZE
ターゲットマシンの short
型の大きさをビット数で表す C の式。
これを定義しない場合は、デフォルトで半ワードになる。
(もしこれが一ストレージ単位よりも小さくなるなら、一単位に切り上げられる。)
LONG_TYPE_SIZE
ターゲットマシンの long
型の大きさをビット数で表す C の式。
これを定義しない場合は、デフォルトで一ワードになる。
MAX_LONG_TYPE_SIZE
ターゲットマシンの long
型の大きさの最大値をビット数であらわしたもの。
定義されていない場合は、デフォルトで LONG_TYPE_SIZE
になる。
定義する場合は、LONG_TYPE_SIZE
が実行時に取りうる最大の定数値に
定義する。これは、cpp
で使われる。
LONG_LONG_TYPE_SIZE
ターゲットマシンの long long
型の大きさをビット数で表す C の式。
これを定義しない場合は、デフォルトで二ワードになる。
GNU Ada をサポートする場合には、このマクロの値は少なくとも 64 でなければ
ならない。
CHAR_TYPE_SIZE
ターゲットマシンの char
型の大きさをビット数で表す C の式。
これを定義しない場合は、デフォルトで1/4ワードになる。
(もしこれが一ストレージ単位よりも小さくなるなら、一単位に切り上げられる。)
MAX_CHAR_TYPE_SIZE
ターゲットマシンの char
型の大きさの最大値をビット数であらわしたもの。
定義されていない場合は、デフォルトで CHAR_TYPE_SIZE
になる。
定義する場合は、CHAR_TYPE_SIZE
が実行時に取りうる最大の定数値に
定義する。これは、cpp
で使われる。
FLOAT_TYPE_SIZE
ターゲットマシンの float
型の大きさをビット数で表す C の式。
これを定義しない場合は、デフォルトで1ワードになる。
DOUBLE_TYPE_SIZE
ターゲットマシンの double
型の大きさをビット数で表す C の式。
これを定義しない場合は、デフォルトで2ワードになる。
LONG_DOUBLE_TYPE_SIZE
ターゲットマシンの long double
型の大きさをビット数で表す C の式。
これを定義しない場合は、デフォルトで2ワードになる。
WIDEST_HARDWARE_FP_SIZE
ハードウェアでサポートされている最大精度の浮動小数点形式の大きさを
ビット数で表す C の式。
このマクロを定義する場合は、LONG_DOUBLE_TYPE_SIZE
以下の値を
指定しなければならない。
このマクロを定義しない場合は、LONG_DOUBLE_TYPE_SIZE
の値が
デフォルトになる。
DEFAULT_SIGNED_CHAR
値が 1 か 0 になる式で、それぞれchar
型がデフォルトでは符号付きか
符号無しかを示す。ユーザは、いつでも ‘-fsigned-char’ や
‘-funsigned-char’ オプションで変更できる。
DEFAULT_SHORT_ENUMS
enum
型に、その型の取りうる値の範囲を表現するのに必要な
バイト数のみを割り当てるかどうかを指定する C の式を定義する。
ゼロでない値を指定すると必要なバイト数のみを割り当てる。
値がゼロなら、全ての enum
型は int
と同じく割り当てられる。
このマクロを定義しなければ、デフォルトは 0 である。
SIZE_TYPE
大きさを示す値に使うデータ型名を
表す文字列を指定する C の式を定義する。
typedef 名 size_t
は、この文字列の内容を使って定義される。
この文字列にはキーワードを二つ以上書いても良い。
その場合、キーワード同士を空白で区切り、最初に長さを表すキーワードを
書き、次に必要なら unsigned
を、最後に int
を
書くようにする。
この文字列は、‘c-decl.c’ というファイルの関数 init_decl_processing
で定義されているデータ型名の一つに厳密に一致しなければならない。
int
を省略したり、順序を変えたりしてはならない。
そうすると、起動時にコンパイラが異常終了してしまう。
このマクロを定義しないと、デフォルトは "long unsigned int"
に
なる。
PTRDIFF_TYPE
二つのポインタ同士の引き算の結果に使うデータ型名を
表す文字列を指定する C の式を定義する。
typedef 名 ptrdiff_t
は、この文字列の内容を使って定義される。
詳細は上の SIZE_TYPE
を参照のこと。
このマクロを定義しないと、デフォルトは "long int"
になる。
WCHAR_TYPE
幅広文字に使うデータ型名を表す文字列を指定する C の式を定義する。
typedef 名 wchar_t
は、この文字列の内容を使って定義される。
詳細は上の SIZE_TYPE
を参照のこと。
このマクロを定義しないと、デフォルトは "int"
になる。
WCHAR_TYPE_SIZE
幅広文字に使うデータ型の大きさをビット数で表した C の式。
これは cpp
で使われる。cpp
は、WCHAR_TYPE
を
使うことができない。
MAX_WCHAR_TYPE_SIZE
幅広文字のデータ型の最大の大きさをビット数で表したもの。
これが定義されていない場合は、デフォルトは WCHAR_TYPE_SIZE
に
なる。定義されている場合は、WCHAR_TYPE_SIZE
が実行時に
取りうる最大値となる定数値になる。
これは、cpp
で使われる。
OBJC_INT_SELECTORS
Objective C のセレクタの型を int
とすべきなら、
このマクロを定義する。
このマクロが定義されていなければ、セレクタは struct objc_selector *
型になる。
OBJC_SELECTORS_WITHOUT_LABELS
コンパイラが、全てのセレクタを一つのベクトルに統合することができ、 そのベクトルの開始点のラベル一つだけを使う場合には、このマクロを 定義する。 定義しない場合は、コンパイラは各セレクタに各々のアセンブララベルを 与えなければならない。
一部の機種では、各セレクタに別々のラベルを与えることが大事で、 そうすることによってリンカが重複したセレクタを消去出来るようになる。
TARGET_BELL
C の定数式で、エスケープ・シーケンス ‘\a’ に対応する整数値を 表す。
TARGET_BS
TARGET_TAB
TARGET_NEWLINE
C の定数式で、それぞれ、エスケープ・シーケンス ‘\b’、‘\t’、 ‘\n’ に対応する整数値を表す。
TARGET_VT
TARGET_FF
TARGET_CR
C の定数式群で、それぞれ、エスケープ・シーケンス ‘\v’、‘\f’、 ‘\r’ に対応する整数値を表す。
This document was generated
using texi2html 1.78.