Basic question: GCC's installed programs

Amittai Aviram amittai.aviram@yale.edu
Tue Jun 26 04:08:00 GMT 2012


Hi!  I just realized that there is something about building GCC that I do not understand:  what the differences are among some of the executables the installation script puts into the final install directory.

I am working on an Ubuntu (Gnu/Linux 2.6.32-41-server) system.  In order to save build time, I configured my GCC build to support only C, C++, and Fortran.  My install directory's "bin" subdirectory now has the following executable files:

c++
cpp
g++
gcov
gfortran
x86_64-unknown-linux-gnu-c++
x86_64-unknown-linux-gnu-g++
x86_64-unknown-linux-gnu-gcc
x86_64-unknown-linux-gnu-gcc-4.6.2
x86_64-unknown-linux-gnu-gfortran

None of these files is a symbolic link.  I do understand the difference between gcc (the C and general-purpose front end), cpp (the C preprocessor), and g++ (the C++ front end, which automatically links to the C++ Standard Library).  But--

1.  What is "c++"?  How is it different from "g++"?

2.  Also, how are the simply-named executables (c++, g++, gcc, gfortran) different from the ones whose names are prefixed with the system name "x86_64-unknown-linux-gnu"?

3.  Finally, how does "x86_64-unknown-linux-gnu-gcc" differ from "x86_64-unknown-linux-gnu-gcc-4.6.2"?

Thus far, I have always been calling the plain "gcc," "g++," and "gfortran" to run test programs in C, C++, and Fortran, respectively, without any problems, AFAIK.

Thanks!

Amittai

Amittai Aviram
PhD Student in Computer Science
Yale University
646 483 2639
amittai.aviram@yale.edu
http://www.amittai.com



More information about the Gcc-help mailing list