Difference between revisions of "Gcc"

From Computer History Wiki
Jump to: navigation, search
(1.x)
m (Correct cat)
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
GCC is the [[GNU]] compiler collection.  It includes the following languages:
+
'''GCC''' is the [[GNU]] compiler collection.  It includes the following languages:
  
 
*C
 
*C
Line 9: Line 9:
 
Depending on the release version, it will include more languages....
 
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 can target to [[binutils]] [[assembler]]/[[linker]], along with other vendor provided assember linkers.
  
 
GCC has gone thru several notable versions:
 
GCC has gone thru several notable versions:
Line 21: Line 21:
  
 
An interesting gcc 1.x distribution was [[Xmgcc]].
 
An interesting gcc 1.x distribution was [[Xmgcc]].
 +
 +
The first Linux versions (from 0.01) used GCC 1.40, ported by Linus to Minix (as a cross-compiler). Then shortly later he ported it to run natively on Linux itself, where it was of course used to build the kernel and all the tools. GCC 1.42, in particular, followed Linux for quite a while before finally moving to GCC 2.x
  
 
== 2.x ==
 
== 2.x ==
Line 34: Line 36:
 
GCC 4.0 is retargeting to support the [[llvm]] project to allow for better optimizations.
 
GCC 4.0 is retargeting to support the [[llvm]] project to allow for better optimizations.
  
 +
{{semi-stub}}
  
 
+
[[Category: GNU Software]]
[[Category:GNU_Software]]
+
[[Category: C Compilers]]
 
 
{{stub}}
 

Revision as of 13:17, 19 October 2018

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.

The first Linux versions (from 0.01) used GCC 1.40, ported by Linus to Minix (as a cross-compiler). Then shortly later he ported it to run natively on Linux itself, where it was of course used to build the kernel and all the tools. GCC 1.42, in particular, followed Linux for quite a while before finally moving to GCC 2.x

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.