En informàtica, el format executable i enllaçable (ELF, abans anomenat Extensible Linking Format), és un format de fitxer estàndard comú per a fitxers executables, codi objecte, biblioteques compartides i abocadors de nucli. Publicat per primera vegada a l'especificació per a la interfície binària de l'aplicació (ABI) de la versió del sistema operatiu Unix anomenada System V Release 4 (SVR4), i més tard a Tool Interface Standard, va ser ràpidament acceptat entre diferents proveïdors de Sistemes Unix. El 1999, va ser escollit com a format de fitxer binari estàndard per a sistemes Unix i similars a Unix en processadors x86 pel projecte 86open. miniatura|Un fitxer ELF té dues vistes: la capçalera del programa mostra els segments utilitzats en temps d'execució, mentre que la capçalera de la secció enumera el conjunt de seccions. Per disseny, el format ELF és flexible, extensible i multiplataforma. Per exemple, admet diferents endians i mides d'adreces, de manera que no exclou cap unitat de processament central (CPU) o arquitectura de conjunt d'instruccions en particular. Això ha permès que sigui adoptat per molts sistemes operatius diferents en moltes plataformes de maquinari diferents.

Disposició del fitxer Cada fitxer ELF està format per una capçalera ELF, seguida de les dades del fitxer. Les dades poden incloure:

Taula de capçalera del programa, que descriu zero o més segments de memòria. Taula de capçalera de secció, que descriu zero o més seccions. Dades a les quals fan referència les entrades de la taula de capçalera del programa o de la taula de capçalera de la secció.

miniatura|Estructura d'un fitxer ELF amb les entrades clau destacades Els segments contenen informació necessària per a l'execució del fitxer en temps d'execució, mentre que les seccions contenen dades importants per a l'enllaç i la reubicació. Qualsevol byte de tot el fitxer pot ser propietat d'una secció com a màxim, i es poden produir bytes orfes que no són propietat de cap secció.

Referències

Categoria:Llenguatges de programació