next up previous contents
Next: Spelling Checkers Up: Applications Previous: Signal-Processing

Development Environment

  • gcc
    several versions of the compiler (C, C++, Objective C, Fortran, Java) are integrated in a set and this is why people use the name GCC or "GNU Compiler Collection". GCC can compile programs written in any of these languages. The Fortran and Java compilers are described in separate manuals.

    When you invoke GCC, it normally does preprocessing, compilation, assembly and linking. The "overall options" allow you to stop this process at an intermediate stage. For example, the `-c' option says not to run the linker. Then the output consists of object files output by the assembler.

    Other options are passed on to one stage of processing. Some options control the preprocessor and others the compiler itself. Yet other options control the assembler and linker; most of these are not documented here, since you rarely need to use any of them.

    Most of the command line options that you can use with GCC are useful for C programs; when an option is only useful with another language (usually C++), the explanation says so explicitly. If the description for a particular option does not mention a source language, you can use that option with all supported languages.

    Please consult the man page for gcc.

  • gdb is the GNU Project debugger, allows you to see what is going on `inside' another program while it executes - or what another program was doing at the moment it crashed.

    GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:

    1. Start your program, specifying anything that might affect its behavior.
    2. Make your program stop on specified conditions.
    3. Examine what has happened, when your program has stopped.
    4. Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.

next up previous contents
Next: Spelling Checkers Up: Applications Previous: Signal-Processing

© Copyright 2001-2006 CCRMA, Stanford University. All rights reserved.
Created and Mantained by Juan Reyes