martes, 22 de noviembre de 2016

Internals of GCC

For this blog we had to listen to a potcast where they talk about how the GCC compiler works. The presenter discussed relevant things of the compiler and related details about how it is that the compiler translates the code, analyzes the information and generates results once the process is completed. I remember that in the operating systems class we used GCC to compile our lab activities but, at that time, I did not know how it works, and to be honest it was not something that would interest me very much.

Researching a little about the history of the GCC compiler, I read that belongs to the GNU project whose syllables are a recursive acronym for "GNU's is not Unix" and it is backed by the Free Software Foundation. Free Software Foundation is an organization that removes restrictions on copying, redistributing, understanding and modifying computer programs. It's like the Stack Overflow of our times, but with employees dedicated to writing free distribution programs.

The GCC compiler received this name because at first it was only designed to compile programs written in C language but, with the passage of time it was able to compile programs in C++, FORTRAN, Ada and other more. What really makes the GCC compiler nice is that it has multiple front-ends, which allows you to parse different programming languages. GCC also implements cross-compilation, which means that for example a C program can be compiled for a micro-controller.

As mentioned before, adding a new front-end to GCC enables the use of this language in different architectures and also provides useful libraries during runtime. GCC is a compiler that does not stop evolving,  even you can add improvements or use improvements made by other people, which I think is great because it is a collaboration system that works for the benefit of all users.

No hay comentarios:

Publicar un comentario