Executable Format
Jump to navigation
Jump to search
External
Internal
Overview
An executable file (or program) is a file that contains instructions, or machine code, directly executable by the CPU. The alternative is a file that contains higher level instructions or code to be interpreted by an interpreter. The executable files are usually created by assembling object files, which are created by compiling a higher level language.
Linux operating systems use Executable and Linkable Format (ELF).
MacOS uses Mach-O.
One can tell the format by executing the file
command on the executable file.
On Linux:
file getcap
getcap: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d043a7b3e7c8ec366bfa066b4c91be8ff25f1497, for GNU/Linux 3.2.0, stripped
On Mac:
file yunikorn-scheduler
yunikorn-scheduler: Mach-O 64-bit executable x86_64
The format of the machine code stored in an executable file depends on the machine architecture.