• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/share/doc/arm-arm-none-eabi/html/gcc/
1<html lang="en">
2<head>
3<title>Standard Libraries - Using the GNU Compiler Collection (GCC)</title>
4<meta http-equiv="Content-Type" content="text/html">
5<meta name="description" content="Using the GNU Compiler Collection (GCC)">
6<meta name="generator" content="makeinfo 4.13">
7<link title="Top" rel="start" href="index.html#Top">
8<link rel="up" href="Trouble.html#Trouble" title="Trouble">
9<link rel="prev" href="Fixed-Headers.html#Fixed-Headers" title="Fixed Headers">
10<link rel="next" href="Disappointments.html#Disappointments" title="Disappointments">
11<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
12<!--
13Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
141998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
152010 Free Software Foundation, Inc.
16
17Permission is granted to copy, distribute and/or modify this document
18under the terms of the GNU Free Documentation License, Version 1.3 or
19any later version published by the Free Software Foundation; with the
20Invariant Sections being ``Funding Free Software'', the Front-Cover
21Texts being (a) (see below), and with the Back-Cover Texts being (b)
22(see below).  A copy of the license is included in the section entitled
23``GNU Free Documentation License''.
24
25(a) The FSF's Front-Cover Text is:
26
27     A GNU Manual
28
29(b) The FSF's Back-Cover Text is:
30
31     You have freedom to copy and modify this GNU Manual, like GNU
32     software.  Copies published by the Free Software Foundation raise
33     funds for GNU development.-->
34<meta http-equiv="Content-Style-Type" content="text/css">
35<style type="text/css"><!--
36  pre.display { font-family:inherit }
37  pre.format  { font-family:inherit }
38  pre.smalldisplay { font-family:inherit; font-size:smaller }
39  pre.smallformat  { font-family:inherit; font-size:smaller }
40  pre.smallexample { font-size:smaller }
41  pre.smalllisp    { font-size:smaller }
42  span.sc    { font-variant:small-caps }
43  span.roman { font-family:serif; font-weight:normal; } 
44  span.sansserif { font-family:sans-serif; font-weight:normal; } 
45--></style>
46<link rel="stylesheet" type="text/css" href="../cs.css">
47</head>
48<body>
49<div class="node">
50<a name="Standard-Libraries"></a>
51<p>
52Next:&nbsp;<a rel="next" accesskey="n" href="Disappointments.html#Disappointments">Disappointments</a>,
53Previous:&nbsp;<a rel="previous" accesskey="p" href="Fixed-Headers.html#Fixed-Headers">Fixed Headers</a>,
54Up:&nbsp;<a rel="up" accesskey="u" href="Trouble.html#Trouble">Trouble</a>
55<hr>
56</div>
57
58<h3 class="section">11.6 Standard Libraries</h3>
59
60<p><a name="index-Wall-3321"></a>GCC by itself attempts to be a conforming freestanding implementation. 
61See <a href="Standards.html#Standards">Language Standards Supported by GCC</a>, for details of
62what this means.  Beyond the library facilities required of such an
63implementation, the rest of the C library is supplied by the vendor of
64the operating system.  If that C library doesn't conform to the C
65standards, then your programs might get warnings (especially when using
66<samp><span class="option">-Wall</span></samp>) that you don't expect.
67
68 <p>For example, the <code>sprintf</code> function on SunOS 4.1.3 returns
69<code>char *</code> while the C standard says that <code>sprintf</code> returns an
70<code>int</code>.  The <code>fixincludes</code> program could make the prototype for
71this function match the Standard, but that would be wrong, since the
72function will still return <code>char *</code>.
73
74 <p>If you need a Standard compliant library, then you need to find one, as
75GCC does not provide one.  The GNU C library (called <code>glibc</code>)
76provides ISO C, POSIX, BSD, SystemV and X/Open compatibility for
77GNU/Linux and HURD-based GNU systems; no recent version of it supports
78other systems, though some very old versions did.  Version 2.2 of the
79GNU C library includes nearly complete C99 support.  You could also ask
80your operating system vendor if newer libraries are available.
81
82 </body></html>
83
84