Running protoize When you invoke GNU CC, 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.
If the description for a particular option does not mention a source language, you can use that option with all supported languages. The gcc program accepts options and filenames as operands. You can mix options and other arguments. For the most part, the order you use doesn t matter. The GNU CC documentation discusses only one of these two forms, whichever one is not the default.