Le format ELF (Executable and Linkable Format) est un format de fichier standard couramment utilisé pour les exécutables, le code objet, les bibliothèques partagées et les vidages mémoire (core dumps). Il est largement employé sur de nombreux systèmes d'exploitation de type Unix, notamment Linux, Solaris, FreeBSD et d'autres. Les fichiers ELF sont conçus pour être flexibles et extensibles, permettant à une variété d'architectures et de systèmes d'exploitation d'utiliser le même format de base. La structure du format comprend un en-tête, des en-têtes de programme, des en-têtes de section et les données elles-mêmes. L'en-tête décrit la structure globale du fichier, y compris le point d'entrée pour l'exécution. Les en-têtes de programme décrivent les segments, qui sont des régions contiguës du fichier chargées en mémoire lors de l'exécution. Les en-têtes de section décrivent les sections, utilisées pour l'édition de liens et le débogage. Les données contiennent le code et les informations réelles du programme. Les fichiers ELF peuvent être liés statiquement, ce qui signifie que tout le code nécessaire est inclus dans le fichier exécutable, ou liés dynamiquement, ce qui signifie qu'une partie du code est chargée à partir de bibliothèques partagées lors de l'exécution. Cela permet d'obtenir des fichiers exécutables plus légers et facilite les mises à jour des bibliothèques partagées.