Skip to main content

Choose a compiler

A compiler is a necessary tool to program in C++.

What is a compiler​

A compiler translates code written in C++ language into a format that is able to be read by computers. C++ code cannot be understood directly by computers, so this translation is necessary.

Make a choice​

Windows​

BrandVisualStudioWin2019

Visual Studio Compiler (Microsoft)

Integrated into Visual Studio IDE.
Details

Pros

  • Integrated into the IDE
  • Very easy installation, automatic configuration

Cons

  • Installation size (~5 GB)
  • Only on Windows

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on Windows, we use the MSYS2 package.
Details

Pros

  • Relatively small installation size (~1.5GB)
  • Multiplatform

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Linux​

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on Linux, we use the system package manager.
Details

Pros

  • Relatively small installation size (~1.5GB)
  • Multiplatform

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Clang (LLVM Developer Group)

A good, multiplatform compiler.
Details

Pros

  • Multiplatform 🤔

Cons

  • Hard to install on Windows
  • Big installation size

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

MacOS​

Clang (LLVM Developer Group)

A good, multiplatform compiler. This is a fork of official clang project with some specific MacOS architecture tweaks. This package also contains debugging tools
Details

Pros

  • Multiplatform 🤔
  • The easiest to use on MacOS
  • Build-in lldb debugger

Cons

  • Usually support less language novelties from newer standards than original clang

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on MacOS, we use brew package manager.
Details

Pros

  • Relatively small installation size
  • Multiplatform

Cons

  • Hard (or impossible?) debugging, due to MacOS specific security application certificates

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.