Linker on kompilaatori komponent, mida kasutatakse mitme objektikoodi faili ühendamiseks erinevatest allikatest üheks käivitatavaks failiks. Selle põhieesmärk on lahendada failidevahelised viited (sümboli eraldusvõime) ja teostada mälusegmentide ümberpaigutamist, et kõik programmis olevad andmed oleksid omavahel õigesti seotud.
Linkereid kasutatakse paljudel platvormidel, kuid need on eriti levinud personaalarvutite (PC-de) kontekstis. Neid kasutatakse sageli rakenduste arendusprotsessis ja nende abil saab korraldada suure hulga koodi väiksemaks ja kompaktsemaks failiks.
Linkerid on tavaliselt osa kompilaatoripaketist ja neid saab kasutada ka teekide ühendamiseks nii arenduskeskkonnast (staatiline linkimine) kui ka võib-olla teistest raamatukogudest (dünaamiline linkimine).
Lingi redigeerimise põhietapid on järgmised:
1. Raamatukogu otsing – otsib läbi raamatukogude loendi, et leida vajalik kood.
2. Sümbolite eraldusvõime – objektide vaheliste viidete lahendamine ja nende rakendamine.
3. Objektikoodi ühendamine – objektprogrammide ühendamine üheks käivitatavaks programmiks.
4. Aadressi ümberpaigutamine – Viidete reguleerimine koodis, juhul kui laetud segmendid ei asu samadel mäluaadressidel, mis on koodis märgitud.
5. Silumisteave – silumisteabe loomine, et võimaldada silumist.
Linkerid saavad täita ka selliseid ülesandeid nagu täiendavate skriptide käitamine, et teha täiendavat konfiguratsiooni, lisada rakendusele turvakontrolle ja tagada ühilduvus teiste platvormidega.
Arvutiviirused on loodud ka pahatahtlikuks kasutamiseks, konkreetselt selleks, et nakatada ja linkida pahatahtlikku koodi olemasolevatesse programmidesse. Seetõttu on linkeri üks olulisemaid ülesandeid lingitud programmi ohutuse ja turvalisuse tagamine.