L'Executable and Linkable Format (ELF) è un formato di file standard comune per eseguibili, codice oggetto, librerie condivise e core dump. È ampiamente utilizzato su molti sistemi operativi Unix-like, inclusi Linux, Solaris, FreeBSD e altri. I file ELF sono progettati per essere flessibili ed estensibili, consentendo a una vasta gamma di architetture e sistemi operativi di utilizzare lo stesso formato di base. Il formato consiste in un'intestazione (header), intestazioni di programma (program headers), intestazioni di sezione (section headers) e i dati stessi. L'intestazione descrive la struttura complessiva del file, incluso il punto di ingresso per l'esecuzione del programma. Le intestazioni di programma descrivono i segmenti, che sono regioni contigue del file caricate in memoria durante l'esecuzione. Le intestazioni di sezione descrivono le sezioni, che sono utilizzate per il collegamento (linking) e il debug. I dati stessi contengono il codice e i dati effettivi del programma. I file ELF possono essere collegati staticamente (statically linked), il che significa che tutto il codice necessario è incluso nel file eseguibile, oppure collegati dinamicamente (dynamically linked), il che significa che parte del codice viene caricata da librerie condivise (shared libraries) in fase di esecuzione (runtime). Questo approccio consente di ottenere file eseguibili più piccoli e facilita gli aggiornamenti delle librerie condivise.