Theme: Programming

An introduction to compilers

Level: Beginner

Typical duration: 1 day

Lectures: 5h

Labs: 3h

Course code: PR01

When correctly used, compilers can offer significant peformance improvements. This course is a first step on the path to compiler mastery.

Training topics


The students will get a first insight into the construction, operation and control of compilers in general. The multitude of options available in each tool will be systematically explained. The course covers primarily GCC/G++ and the Intel C/C++ Compiler, and uses LLVM as a supporting tool.

A considerable part of the course is a hands-on lab, where the effects discussed in the theoretical part can be observed in practice.



After the course, the students will:
- Use compilers to speed up programs
- Understand and exploit differences between compilers
- Take control of compilers through switches and command line options
- Feel comfortable with GCC, G++, ICC, ICPC operation

Training concepts

Basic insight into the construction, operation and control of the GCC and Intel compilers
General compiler construction and operation, available options and their meaning