| FazBrowse Wikipedia Viewer | Main Page | | |
| Viewing: https://en.wikipedia.org/wiki/Executable |
| Contents |
|---|
| See also |
| References |
| External links |
| Program execution | |
|---|---|
| General concepts | |
| Types of code | |
| Compilation strategies | |
| Notable runtimes | |
|
|
| Notable compilers & toolchains | |
|
|
| – such as Executable and Linkable Format (ELF) or Portable Executable (PE), depending on the computing context. The format may support segregating code into sections such as .text (executable code), .data (initialized global and static variables), and .rodata (read-only data, such as constants and strings).
Executable files typically 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 may contain significant code beyond that directly generated from the source code. In some cases, it is desirable to omit this, for example for embedded systems. 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 the kernel at the end. To be executable, a file must conform to the system's application binary interface (ABI). In simple interfaces, a file is executed by loading it into memory and jumping to the start of the address space and executing from there. In more complicated interfaces, executable files have additional metadata, which may specify relocations to be performed when the program is loaded, or the entry point address at which to start execution. See alsoedit
Referencesedit<a href=\"./Executable#cite_note-Celovi_2022-1\" id=\"mwgg\"><span class=\"mw-reflink-text\" id=\"mwgw\"><span class=\"cite-bracket\" id=\"mwhA\">[</span>1<span class=\"cite-bracket\" id=\"mwhQ\">]</span></span></a></sup>\n<sup about=\"#mwt30\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwhg\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"Computer_2005\"},\"body\":{\"id\":\"mw-reference-text-cite_note-Computer_2005-8\"}}'><a href=\"./Executable#cite_note-Computer_2005-8\" id=\"mwhw\"><span class=\"mw-reflink-text\" id=\"mwiA\"><span class=\"cite-bracket\" id=\"mwiQ\">[</span>8<span class=\"cite-bracket\" id=\"mwig\">]</span></span></a></sup>\n<sup about=\"#mwt33\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwiw\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"Fisher_2019\"},\"body\":{\"id\":\"mw-reference-text-cite_note-Fisher_2019-6\"}}'><a href=\"./Executable#cite_note-Fisher_2019-6\" id=\"mwjA\"><span class=\"mw-reflink-text\" id=\"mwjQ\"><span class=\"cite-bracket\" id=\"mwjg\">[</span>6<span class=\"cite-bracket\" id=\"mwjw\">]</span></span></a></sup>\n<sup about=\"#mwt36\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwkA\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"GFG_2015\"},\"body\":{\"id\":\"mw-reference-text-cite_note-GFG_2015-4\"}}'><a href=\"./Executable#cite_note-GFG_2015-4\" id=\"mwkQ\"><span class=\"mw-reflink-text\" id=\"mwkg\"><span class=\"cite-bracket\" id=\"mwkw\">[</span>4<span class=\"cite-bracket\" id=\"mwlA\">]</span></span></a></sup>\n<sup about=\"#mwt39\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwlQ\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"LB_2019\"},\"body\":{\"id\":\"mw-reference-text-cite_note-LB_2019-5\"}}'><a href=\"./Executable#cite_note-LB_2019-5\" id=\"mwlg\"><span class=\"mw-reflink-text\" id=\"mwlw\"><span class=\"cite-bracket\" id=\"mwmA\">[</span>5<span class=\"cite-bracket\" id=\"mwmQ\">]</span></span></a></sup>\n<sup about=\"#mwt42\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwmg\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"McKellar_2010\"},\"body\":{\"id\":\"mw-reference-text-cite_note-McKellar_2010-7\"}}'><a href=\"./Executable#cite_note-McKellar_2010-7\" id=\"mwmw\"><span class=\"mw-reflink-text\" id=\"mwnA\"><span class=\"cite-bracket\" id=\"mwnQ\">[</span>7<span class=\"cite-bracket\" id=\"mwng\">]</span></span></a></sup>\n<sup about=\"#mwt45\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwnw\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"Mueller_2007\"},\"body\":{\"id\":\"mw-reference-text-cite_note-Mueller_2007-2\"}}'><a href=\"./Executable#cite_note-Mueller_2007-2\" id=\"mwoA\"><span class=\"mw-reflink-text\" id=\"mwoQ\"><span class=\"cite-bracket\" id=\"mwog\">[</span>2<span class=\"cite-bracket\" id=\"mwow\">]</span></span></a></sup>\n<sup about=\"#mwt48\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwpA\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"MW_2008\"},\"body\":{\"id\":\"mw-reference-text-cite_note-MW_2008-3\"}}'><a href=\"./Executable#cite_note-MW_2008-3\" id=\"mwpQ\"><span class=\"mw-reflink-text\" id=\"mwpg\"><span class=\"cite-bracket\" id=\"mwpw\">[</span>3<span class=\"cite-bracket\" id=\"mwqA\">]</span></span></a></sup>\n<sup about=\"#mwt51\" class=\"mw-ref reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" id=\"mwqQ\" data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"Rusling_1999\"},\"body\":{\"id\":\"mw-reference-text-cite_note-Rusling_1999-9\"}}'><a href=\"./Executable#cite_note-Rusling_1999-9\" id=\"mwqg\"><span class=\"mw-reflink-text\" id=\"mwqw\"><span class=\"cite-bracket\" id=\"mwrA\">[</span>9<span class=\"cite-bracket\" id=\"mwrQ\">]</span></span></a></sup>\n"}}'>
External linksedit
Executable and object file formats | |
| View original on Wikipedia | Back | FazBrowse Home |