GNU Compiler Collection




As well as being the official compiler of the unfinished GNU operating system, GCC has been adopted as the standard compiler by most other modern Unix-like computer operating systems, including Linux and the BSD family. A port to RISC OS has also been developed extensively in recent years. There is also an old (3.0) port of GCC to Plan9, running under its ANSI/POSIX Environment (APE). GCC is also available for Microsoft Windows operating systems and for the ARM processor used by many portable devices.

GCC has been ported to a wide variety of processor architectures, and is widely deployed as a tool in proprietary development environments. GCC is also available for most embedded platforms, including Symbian (called gcce), AMCC, and Freescale Power Architecture-based chips. The compiler can target a wide variety of platforms, including videogame consoles such as the PlayStation 2 and Dreamcast. Several companies make a business out of supplying and supporting GCC ports to various platforms, and chip manufacturers today consider a GCC port almost essential to the success of an architecture.


Compute Systems Invocation Version(s)
Red Hat Linux (64-bit) % /usr/bin/gcc
% /usr/bin/g++
4.4.7 (default)
% /util/bin/gcc
% /util/bin/g++
6.4.0 (default)


  1. We offer two versions of gcc on the Linux systems:
    1. The GCC installation in the /usr filesystem is the system GCC. The underlying operating system depends on this GCC installation, so we don't modify it. This tends to be an older version of GCC.
    2. The GCC installation in the /util filesystem is the development GCC. For instruction and research, some faculty and students need a newer version of GCC than the system GCC.
  2. If you're using the development GCC:
    1. Make sure that /util/bin is at the start of your search path. For most users this is automatic, but you can verify with the command:
      % printenv PATH
    2. Add the GCC development library directory to your LD_LIBRARY_PATH environment variable:
      % setenv LD_LIBRARY_PATH /util/gcc/lib64:${LD_LIBRARY_PATH}
      If you want this change to persist across sessions, add the above line to your .cshrc file.


  1. Tamal Biswas, CSE 250 instructor.
  2. Hung Ngo, CSE 250 instructor.
  3. Ken Regan, CSE 250 instructor.