Linker (konsolidator) to program, którego zadaniem jest połączenie skompilowanych niezależnie jednostek translacji w gotowy do wykonania program.
Często większe programy dzielimy na mniejsze części, które są kompilowane oddzielnie. Pozwala to na:
W kompilowanej jednostce translacji możemy korzystać z bibliotek (na przykład z biblioteki standardowej).
Zadaniem linkera jest połączenie wszystkich części składowych w jeden program wykonywalny. Nawet, jeśli kod naszego programu jest zawarty w jednym pliku źródłowym, proces generowania końcowego kodu maszynowego jest rozbity na kompilację i linkowanie.
Przykład - pusty plik źródłowy - poprawna kompilacja, ale mamy błąd linkera.