[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.8 標準ライブラリ

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 の規格では sprintfint を返すようになっている。 fixincludes プログラムでこの関数のプロトタイプを 規格に一致するようにすることもできるが、それは間違いである。 なぜなら、この関数自体は依然として char * を返すからである。

規格に従ったライブラリが必要な場合は自分でそれを見つける必要がある。 GCC では提供していない。GNU C ライブラリ(glibc と呼ばれる)は、 多数のオペレーティングシステムに移植されており、ANSI/ISO、POSIX、BSD、 SystemV との互換性を提供している。また、オペレーティングシステムの ベンダーにより新しいライブラリが利用可能かどうか問い合わせることも できるだろう。


This document was generated using texi2html 1.78.