ELF
also: Executable and Linkable Format, ELF binary
ELF (Executable and Linkable Format) is the standard binary file format used by Linux and Unix systems for executables, object files, and shared libraries.
ELF is a structured binary format that defines how machine code, data, and metadata are organized in a file. It replaced older formats like a.out and is now the de facto standard across Linux, BSD, and many other Unix-like systems.
An ELF file contains multiple sections: the ELF header (metadata about the file), program headers (instructions for the loader), section headers (information for the linker), and the actual code and data sections. You can inspect an ELF file's structure using tools like readelf or file.
Example: When you compile a C program with gcc -o myprogram main.c, the resulting myprogram is an ELF executable. You can verify this by running file myprogram, which will output something like "ELF 64-bit LSB executable."
ELF supports dynamic linking, position-independent code, and security features like ASLR (Address Space Layout Randomization), making it flexible and secure for modern systems.