Difference between revisions of "Gcc"

From Computer History Wiki
Jump to: navigation, search
m
m
Line 36: Line 36:
  
  
[[Category:GNU_Software]][[Category:Compilers]]
+
[[Category:GNU_Software]][[Category:C compilers]]
  
 
{{stub}}
 
{{stub}}

Revision as of 10:36, 25 May 2010

GCC is the GNU compiler collection. It includes the following languages:

  • C
  • C++
  • Objective C
  • Java
  • Fortran 77

Depending on the release version, it will include more languages....

GCC can target to binutils assembler/linker, along with other vendor provided assember linkers.

GCC has gone thru several notable versions:


1.x

The 1.x versions of GCC don't have full ./configure scripts, but instead require you to move files around and build. It's not an ANSI C compiler, but it's moving towards ANSI C, and away from K&R type conventions, however it can compile K&R code. I've had a few 'issues' where some things crash when built with gcc 1.x on the VAX while the default compiler (PCC) will build them.. Unless you are using 4.2 BSD, I'd avoid the the 1.x GCC chain.

I think the primary platforms were 68000 SUN workstations (SunOS 2-4) and the VAX running BSD.

An interesting gcc 1.x distribution was Xmgcc.

2.x

While 2.x versions of GCC were very stable (2.5.8 and beyond) the project started to stagnate, and it lead to the EGCS project just after the 2.7 releases of GCC. The EGCS work was rolled back in for a 2.95 release of GCC, then gowing forard for 3.0 once it had stabalized. 2.x also added C++ & Objective C support.

3.x

4.x

GCC 4.0 is retargeting to support the llvm project to allow for better optimizations.