The expression GCC refers to the name GNU C Compiler, software used to compile the C, C ++, Objective C and Fortan languages; this powerful tool can be found incorporated into GNU /Linux systems. It offers a fast and clean execution in the generation of binary executable programs for an endless of uses and application.
It was created as an initiative of Ridchard Stallman, currently this development project is maintained by the FSF - Free Software Foundation.
… A compiler alone is not enough — to use a computer system, you must have a complete operating system. In 1983, all modern computer operating systems were unfree. To remedy this, in 1984 I began to develop the GNU operating system, a Unix-like system that would be free software. GCC development was a part of GNU development.
In the early 1990s, the newly completed GNU operating system was completed with the addition of a kernel, Linux, which became free software in 1992. The combined GNU / Linux operating system has reached the goal of making it possible to use a computer. on freedom. But freedom is never automatically assured, and we must work to protect it. The Free Software Movement needs your support.
Richard M. Stallman, February 2004
gcc [option | archive ] …
Some examples of use:
$ gcc file.c (compiles the in C the file.c and creates an executable file a.out)
$ gcc test-program test-program.c (it is compiled in C and the executable file program-test.c is created)
Basic structure of a program code that prints a text in C
printf (“Hello world!\n”);
Preprocessor: refers to the programs invoked by a compiler as well as the processing of the directives used in the program; some examples of directives are: #include, #define and #if
Compiler: this action unifies the codes involved and interprets them in this way, the creation of the program begins in a single executable file.
Assembly: this step the code becomes the object code through the use of an assembler, it will basically have the essential characteristics that contain the orders and instructions to be interpreted from a computer equipment.
Linker: refers to the link of the library of the file that has been previously created using a linker and ends the process of creating the executable file.