Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Yes, the C language features a standard library; that is, a number of standard macros, routines and types one can use in his programs, apart from any in the core language itself.</p> <p>In popular implementations, there is a separate library file containing the code for the C standard library. For example, in GNU/Linux environments, the GNU C library (<code>libc</code>) is almost always present. Microsoft provides the <code>msvcrt.dll</code> runtime library for the Windows system, and so on.</p> <p>Also, the C standard library might not be available in freestanding implementations. Sometimes it is possible to compile a program without linking against the C standard library from your system. As an example, the Windows API is well known for behaving as a freestanding C programming environment (although one might need to link against other system libraries specific to Windows).</p> <p>Regarding GCC, the following illustrates briefly the compilation pipeline:</p> <ol> <li>The input source is preprocessed with GNU <code>cpp</code>, resulting in a translation unit. <em>(Actually, as Basile pointed out, nowadays no <code>cpp</code> process is created; the entire preprocessing work is done within <code>cc1</code>. Nevertheless, the resulting behavior is most likely the same as with <code>cpp</code>.)</em></li> <li>The translation unit is then interpreted and compiled to assembly source with GCC <code>cc1</code>;</li> <li>The assembly source is then assembled into object code with GNU <code>as</code>;</li> <li>Finally, object files and libraries are linked together to produce a binary image with GNU <code>ld</code>.</li> </ol> <p>Naturally, each of these steps may be altered or not executed at all depending on the driver options; the above is just a rough explanation of the overall process.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload