executable this article is about a general type of computer file for the specific file type used in some operating systems see exe program execution general concepts code translation compiler compiletime optimizing compiler intermediate representation ir execution runtime system runtime executable interpreter virtual machine types of code source code object code bytecode machine code microcode compilation strategies justintime jit tracing justintime aheadoftime aot transcompilation recompilation notable runtimes android runtime art common language runtime clr mono crt0 hhvm java virtual machine jvm objectivec v8 nodejs pypy zend engine notable compilers toolchains gnu compiler collection gcc llvm clang vte a hex dump of an executable real modeloader in computing executable code or an executable file or executable program sometimes simply referred to as an executable or binary causes a computer to perform indicated tasks according to encoded instructions as opposed to a data file that must be parsed by a program to be meaningful the exact interpretation depends upon the use while instructions is traditionally taken to mean machine code instructions for a physical cpu in some contexts a file containing bytecode or scripting language instructions may also be considered executable generation of executable files see also object file while an executable file can be handcoded in machine language it is far more usual to develop software as source code in a highlevel language easily understood by humans or in some cases in assembly language which remains humanreadable while being more closely associated with machine code instructions the highlevel language is compiled into either an executable machine code file or a nonexecutable machinecode object file of some sort the equivalent process on assembly language source code is called assembly several object files are linked to create the executable object files executable or not are typically in a container format such as executable and linkable format elf this structures the generated machine code for example dividing it into sections such as the text executable code data static variables and rodata static constants in order to be executed by the system such as an operating system firmware or boot loader an executable file must conform to the systems application binary interface abi most simply a file is executed by loading the file into memory and simply jumping to the start of the address space and executing from there but in more complicated interfaces executable files have additional metadata specifying a separate entry point for example in elf the entry point is specified in the header in the eentry field which specifies the virtual memory address at which to start execution in the gcc gnu compiler collection this field is set by the linker based on the start symbol executable files typically also include a runtime system which implements runtime language features such as task scheduling exception handling calling static constructors and destructors etc and interactions with the operating system notably passing arguments environment and returning an exit status together with other startup and shutdown features such as releasing resources like file handles for c this is done by linking in the crt0 object which contains the actual entry point and does setup and shutdown by calling the runtime library executable files thus normally contain significant additional machine code beyond that directly generated from the specific source code in some cases it is desirable to omit this for example for embedded systems development or simply to understand how compilation linking and loading work in c this can be done by omitting the usual runtime and instead explicitly specifying a linker script which generates the entry point and handles startup and shutdown such as calling main to start and returning exit status to kernel at end comparison of executable file formats exe file format at what is vteexecutable and object file formats aout aif coff cmd com ecoff elf goff hunk macho mz ne omf os360 pe pef xcoff comparison of formats exe 