Table 2:
GCC command-line options.
Option |
Description |
-o |
FILE Specify the output filename; not necessary when compiling
to object code. If FILE is not specified, the default name is
a.out. |
-c |
Compile without linking. |
-DFOO=BAR |
Define a preprocessor macro named FOO with a value of
BAR on the command-line. |
-IDIRNAME |
Prepend DIRNAME to the list of directories searched for
include files. |
-LDIRNAME |
Prepend DIRNAME to the list of directories searched for
library files. By default, gcc links against shared libraries. |
-static |
Link against static libraries. |
-lFOO |
Link against libFOO. |
-g |
Include standard debugging information in the binary. |
-ggdb |
Include lots of debugging information in the binary that
only the GNU debugger, gdb, can understand. |
-O |
Optimize the compiled code. |
-ON |
Specify an optimization level N, . |
-ansi |
Support the ANSI/ISO C standard, turning off GNU extensions
that conflict with the standard (this option does not
guarantee ANSI-compliant code). |
-pedantic |
Emit all warnings required by the ANSI/ISO C standard. |
-pedantic-errors |
Emit all errors required by the ANSI/ISO C standard. |
-traditional |
Support the Kernighan and Ritchie C language syntax
(such as the old-style function definition syntax). If you
don't understand what this means, don't worry about it. |
-w |
Suppress all warning messages. In my opinion, using this
switch is a very bad idea! |
-Wall |
Emit all generally useful warnings that gcc can provide.
Specific warnings can also be flagged using -Wwarning. |
-werror |
Convert all warnings into errors, which will stop the compilation. |
-MM |
Output a make-compatible dependency list. |
-v |
Show the commands used in each step of compilation. |