Una libreria statica è una raccolta di routine precompilate che vengono collegate (linkate) a un programma al momento della compilazione e diventano parte integrante del file eseguibile. A differenza delle librerie dinamiche (note anche come librerie condivise), le librerie statiche non vengono caricate a runtime. Invece, il codice proveniente dalla libreria statica viene copiato direttamente nell'eseguibile. Questo processo comporta una dimensione maggiore del file eseguibile, ma elimina la dipendenza dalla presenza della libreria sul sistema dove l'eseguibile viene avviato. Le librerie statiche sono comunemente utilizzate per distribuire componenti di codice riutilizzabili, come funzioni matematiche, strutture dati o driver di dispositivo. Sono particolarmente utili quando si desidera assicurarsi che il programma contenga tutto il codice necessario integrato e non dipenda da dipendenze esterne che potrebbero essere mancanti o incompatibili su sistemi diversi. L'estensione di file '.a' è l'estensione più comune per le librerie statiche sui sistemi Unix-like, inclusi Linux e macOS. Su Windows, le librerie statiche utilizzano tipicamente l'estensione '.lib'.