Contents|Index|Previous|Next

Standard Libraries

GNU CC by itself attempts to be what the ISO/ANSI C standard calls a conforming freestanding implementation. This means all ANSI C language features are available, as well as the contents of float.h, limits.h, stdarg.h, and stddef.h. The rest of the C library is supplied by the vendor of the operating system. If that C library doesnt conform to the C standards, then your programs might get warnings (especially when using -Wall) that you dont expect.

For example, the sprintf function on SunOS 4.1.3 returns char * while the C standard says that sprintf returns an int. The fixincludes program could make the prototype for this function match the Standard, but that would be wrong, since the function will still return char *.

If you need a Standard compliant library, then you need to find one, as GNU CC does not provide one. The GNU C library (called glibc) has been ported to a number of operating systems, and provides ANSI/ISO, POSIX, BSD and SystemV compatibility. You could also ask your operating system vendor if newer libraries are available.