⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

{{Compiler}}[[Category:Encyclopedia]]The '''GNU Compiler Collection''', or '''GCC''', is a multi-language compiler supporting multiple target architectures. As of version 4.1, the main branch includes support for [[Ada]], [[C]], [[C++]], [[Fortran]], [[Java]], [[Objective-C]], and [[Objective-C++]]. Support for other languages is possible through the creation of a compiler front-end.

==Basic Usage==

Any of GCC's supported languages may be compiled through the simple command-line construct:

gcc (source-file)

However, some languages depend on the [[link time|linking]] of libraries, such as C++'s [[Standard Template Library]], to reach their full potential. In GCC, one way to include the STL is to change the way the compiler is called:

g++ (source-file)

In the above two examples, GCC will produce a binary file named a.out, barring any [[compile time|compile-time]] errors. This is the executable form of the code compiled. If it is preferable to have a binary of a different name, and it usually is, one can use the -o command-line option:

gcc (source-file) -o mybinary

''or''

g++ (source-file) -o mybinary

These example behaves the same as their sibling examples, with the exception that they create a binary named mybinary instead of a.out.

==See Also==

  • [http://gcc.gnu.org/ GCC official home page]
  • [[wp:GNU Compiler Collection|GNU Compiler Collection on Wikipedia]]
  • [http://gcc.gnu.org/onlinedocs/ GCC online documentation]
  • [http://gcc.gnu.org/install/binaries.html An incomplete list of third-party binary distributions] for systems that don't already have a compiler installed.
  • [http://mingw.org/ MinGW], a widely-used port of GCC to [[Windows]]
  • [https://mingw-w64.org MinGW-w64], a popular fork of MinGW that adds Win64 support and additional tools and APIs
  • [http://tdm-gcc.tdragon.net/ TDM-GCC], another Windows port (not listed in the third-party distribution page above)
  • [http://www.delorie.com/djgpp/ DJGPP], a widely-used port of GCC to [[DOS]]