Compiler

From HPC Wiki
Revision as of 16:47, 20 March 2018 by Ds019135 (talk | contribs) (Created page with "A Compiler is a computer program translating code from one language to another. == General == When people write programs (code), the usually employ a text editor and a high l...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

A Compiler is a computer program translating code from one language to another.

General

When people write programs (code), the usually employ a text editor and a high level language like C/C++ or Fotran, to produce a code that looks somewhat like this:

#include <iostream>
using namespace std;

int main() 
{
    cout << "Hello, World!";
    return 0;
}

This is easy to write, understand and maintain for humans. However, since a computer only understands 0s and 1s, this can not be executed directly. A Compiler tranlates this code into a binary file, which can be executed, producing the desired output

$ Hello, World!

Fostering the advend of higher level programming languages, this significantly lowers the entry barrier into programming, and also facillitates the creation of more complex programs which can not (easily) be written just in terms of 0s and 1s by humans.


Intel Compiler

The Intel Compiler (icc) is a compiler written by Intel and optimized to take utilize the features of their microprocessors to their fullest extend, sometimes resulting in a significant performance improvement.

Gnu Compiler Collection

The Gnu Compiler Collection (gcc) is a free collection of compilers, originally written for the GNU operating system and now available on all major platforms.

LLVM

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

References

Video Explaining the Basic Idea of a Compiler

Intel Compilers

Gnu Compiler Collection (gcc)

LLVM Compiler Collection