Difference between revisions of "GCC"

From techwiki.eng.ua.edu
Jump to navigation Jump to search
Line 1: Line 1:
[[File:GCC-logo.png|left|frameless]] GCC, the Gnu Compiler Collection
+
[[File:GCC-logo.png|left|frameless]]  
 +
 
 +
== What is GCC ==
 +
From wikipedia: The '''GNU Compiler Collection (GCC)''' is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain and the standard compiler for most projects related to GNU and Linux, including the Linux kernel. The Free Software Foundation (FSF) distributes GCC under the GNU General Public License (GNU GPL). GCC has played an important role in the growth of free software, as both a tool and an example.
 +
 
 +
When it was first released in 1987, GCC 1.0 was named the GNU C Compiler since it only handled the C programming language.[1] It was extended to compile C++ in December of that year. Front ends were later developed for Objective-C, Objective-C++, Fortran, Java, Ada, and Go, among others.[5]
 +
 
 +
Version 4.5 of the OpenMP specification is now supported in the C and C++ compilers[6] and a "much improved" implementation of the OpenACC 2.0a specification[7] is also supported. By default, the current version supports gnu++14, a superset of C++14, and gnu11, a superset of C11, with strict standard support also available. It also provides experimental support for C++17 and later.
 +
 
 +
GCC has been ported to a wide variety of instruction set architectures, and is widely deployed as a tool in the development of both free and proprietary software. GCC is also available for many embedded systems, including ARM-based; AMCC, and Freescale Power ISA-based chips.[8] The compiler can target a wide variety of platforms.
 +
 
 +
As well as being the official compiler of the GNU operating system, GCC has been adopted as the standard compiler by many other modern Unix-like computer operating systems, including most Linux distributions. Most BSD family operating systems also switched to GCC, although since then, some BSDs including FreeBSD and OpenBSD have since moved to the Clang compiler.[9] macOS also switched to Clang after using GCC. Versions are also available for Microsoft Windows and other operating systems; GCC can compile code for Android and iOS.
  
 
Used in: CS 100, 101
 
Used in: CS 100, 101

Revision as of 14:12, 12 August 2020

GCC-logo.png

What is GCC

From wikipedia: The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain and the standard compiler for most projects related to GNU and Linux, including the Linux kernel. The Free Software Foundation (FSF) distributes GCC under the GNU General Public License (GNU GPL). GCC has played an important role in the growth of free software, as both a tool and an example.

When it was first released in 1987, GCC 1.0 was named the GNU C Compiler since it only handled the C programming language.[1] It was extended to compile C++ in December of that year. Front ends were later developed for Objective-C, Objective-C++, Fortran, Java, Ada, and Go, among others.[5]

Version 4.5 of the OpenMP specification is now supported in the C and C++ compilers[6] and a "much improved" implementation of the OpenACC 2.0a specification[7] is also supported. By default, the current version supports gnu++14, a superset of C++14, and gnu11, a superset of C11, with strict standard support also available. It also provides experimental support for C++17 and later.

GCC has been ported to a wide variety of instruction set architectures, and is widely deployed as a tool in the development of both free and proprietary software. GCC is also available for many embedded systems, including ARM-based; AMCC, and Freescale Power ISA-based chips.[8] The compiler can target a wide variety of platforms.

As well as being the official compiler of the GNU operating system, GCC has been adopted as the standard compiler by many other modern Unix-like computer operating systems, including most Linux distributions. Most BSD family operating systems also switched to GCC, although since then, some BSDs including FreeBSD and OpenBSD have since moved to the Clang compiler.[9] macOS also switched to Clang after using GCC. Versions are also available for Microsoft Windows and other operating systems; GCC can compile code for Android and iOS.

Used in: CS 100, 101


Supported Operating Systems

Win10-logo.pngMacos-logo.pngLinux-logo.png Available for Windows, Mac, and Linux.

VPN requirement

Vpn-no.png Connection to campus VPN is not required.


Mac Instructions for use

  • Figure out how to open a Terminal window (you may want to put Terminal Application on your dock).
  • Test to see if you have gcc installed. Enter the following command into the terminal window: gcc
    • If you get a message saying The gcc command requires the command line developer tools. Would you like to install them now? then click the Install option.
  • To check the installation was successful, type gcc in the terminal window and hit return. If you see an error message similar to clang: error: no input files, you are all set. This means the gcc command/compiler exists on your system and you need to enter a C program for compilation.

Windows Instructions for use

  • Browse to http://www.cygwin.com and click on the Install Cygwin link near the top of the teal-colored box on the left-hand side of the page, then follow the instructions. Make sure you use the 64-bit version of the setup program if you have a 64-bit computer.
  • Answer all the questions using the default answers. You are asked to select a location from which to download. Pick any location; some will be slow and some will be fast. Hopefully, you'll pick a fast location. At some point, you see a Select Packages screen. Click on plus signs next to:
    • Devel and click on the Skip column entry next to the gcc-core, gcc-g++, gdb, and make entries. (By default, the installation will skip these packages. By clicking the skip, it becomes unskip, and it will install the packages.)
    • Editors and click on the Skip labels next to the emacs, vim, and vim-common entries.
    • Net and click on the Skip label next to the openssh and rsync entry.
  • Finally, click on the Next button in the lower right corner and continue accepting defaults.
  • After installation, open a Cygwin terminal (there should be an icon on your Desktop).
  • Type gcc in a Cygwin terminal window. If you see gcc: fatal error: no input files, you are all set. This means the gcc command/compiler installed and you need to enter a C program for compilation.