[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GCC 自体は、ISO/ANSI C 規格が conforming freestanding implementation と呼んでいるものに 準拠しようとしている。これは、ANSI C 言語の全ての機能が 利用可能であり、さらに ‘float.h’、‘limits.h’、 ‘stdarg.h’、‘stddef.h’ の中身も利用可能であるという ことを意味する。C ライブラリのその他の部分は、OS ベンダにより 提供される。その C ライブラリが C の規格に準拠していなければ、 読者のプログラムをコンパイルするとき(とりわけ、‘-Wall’ を指定したときに、警告が出る可能性がある。
例えば、SunOS 4.1.3 の sprintf
関数は char *
を返すが、
C の規格では sprintf
は int
を返すようになっている。
fixincludes
プログラムでこの関数のプロトタイプを
規格に一致するようにすることもできるが、それは間違いである。
なぜなら、この関数自体は依然として char *
を返すからである。
規格に従ったライブラリが必要な場合は自分でそれを見つける必要がある。
GCC では提供していない。GNU C ライブラリ(glibc
と呼ばれる)は、
多数のオペレーティングシステムに移植されており、ANSI/ISO、POSIX、BSD、
SystemV との互換性を提供している。また、オペレーティングシステムの
ベンダーにより新しいライブラリが利用可能かどうか問い合わせることも
できるだろう。
This document was generated
using texi2html 1.78.