(jpeg 7k)
(jpeg 21k)
no gifs due to patent problems
(other
GNU art (500k))
GCC was developed by GNU to provide a free compiler for the GNU system. GCC is distributed under the terms of the GNU General Public License (20k characters). (For more information on the philosophy behind the GNU system and the Free Software Foundation, see philosophy.)
GCC can compile programs written in C, C++, Objective C, Ada 95, Fortran 77, and Pascal (see compiling other languages).
GCC is a full featured compiler, providing everything you need in a C compiler. GCC is updated to support new features and new platforms. The GNU project also provides many companion tools, such as GNU make and GDB (GNU Debugger).
A version of GCC is currently used by NeXT (now Apple) as the sole compiler for NeXTstep, and in OPENSTEP.
``GCC'' is short for the ``GNU C Compiler''; we also sometimes use the name ``GNU CC'.
`gcc' is also the command name used to invoke the compiler. The reason for this name is that the compiler initially supported only the C language. Now, `gcc' will invoke the proper compiler files for C++ files if their names end in `.C', `.cc', `.cpp', or `.cxx'. The `gcc' command also recognizes Objective C, Pascal and Fortran files based on their file names.
The main GCC distribution includes the source for the C, C++, and Objective C front ends, giving gcc the ability to compile programs in these languages. Additional front ends for Ada 95, Fortran 77, and Pascal are distributed separately. (Note: The front end for Ada is not distributed by the Free Software Foundation, because it is written in Ada and therefore has to be distributed together with binaries for bootstrapping.)
G++ is the C++ compiler. G++ is a
Avoiding an intermediate C representation of the program means that you get better object code, and better debugging information. The GNU debugger, GDB, works with this information in the object code to give you comprehensive C++ source-level editing capabilities.
The latest version of the GCC compiler is version 2.7.2.3. This is an update of the 2.7.2 release, which fixes a few important bugs, especially in the support for GNU Libc versions 1 and 2 on Linux-based GNU systems.
If you are already using 2.7.2, 2.7.2.1, or 2.7.2.2, and you are not having problems with it, there is no reason to upgrade now; however, if you are redistributing GCC, you should switch to redistributing 2.7.2.3 instead.
The following platforms are currently supported :
Information on obtaining the latest version of GCC and all GNU software.
GCC is a fairly portable optimizing compiler which performs many optimizations.
Portability:
Optimizations:
GCC is distributed under the terms of the GNU General Public License(20k characters).
It is permissible to compile non-free programs with GCC. Compiling a program with GCC and distributing the binary does not require you to make the program free software or release its source code. This is because the run-time library included with GCC comes with special permission to link it with your compiled programs without restriction.
However, making programs free software is the right thing to do on general ethical principles, regardless of what compiler you use.
Putting it all together - a development environment
The primary goal of GNU is to develop a free, complete Unix-like operating system, including all the tools necessary to develop your own programs. GCC is an essential component of the GNU system; it is also useful on many other operating systems and target platforms.
Other GNU programs that are useful together with GCC include the Binutils (which include the GNU assembler and GNU linker), GNU Debugger (GDB), GNU Make, and the GNU C Library. Unfortunately, we don't have web pages yet for most of these programs, but we hope to.
Helping GCC Development
Many people now help with the development of GCC. Maybe you
would like to join in.
We can use more people to
We can also use capable hackers to fix bugs, develop new optimizations, and maintain the support for certain platforms. If you would like to do this, the first step is to start reading the GCC sources and see if you can understand the program. Nobody understands every detail of GCC; it is too big for that, but fortunately there's no need to understand every detail to do useful work. What is necessary is to be able to understand a part of the program when you want to. When you've learned to do this, send mail to gcc-maintainers@gnu.org.
Contact Information
Please send inquiries about GNU and the FSF to
Free Software Foundation Voice: +1-617-542-5942 59 Temple Place - Suite 330 Fax: +1-617-542-2652 Boston, MA 02111-1307, USA gnu@prep.ai.mit.edu
Many thanks to Networks On-Line for donating the hardware, network access, and site administration for this web server.
Copyright (C) 1996, 1997 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.
Updated: 18 Sep 1997 rms