A.out
(new) |
|||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:a.out}}{{FormatInfo | {{DISPLAYTITLE:a.out}}{{FormatInfo | ||
+ | | name = a.out | ||
| subcat = Executables | | subcat = Executables | ||
| extensions = {{noext}}, {{ext|o}}, {{ext|so}} | | extensions = {{noext}}, {{ext|o}}, {{ext|so}} |
Latest revision as of 16:37, 1 June 2015
a.out is a file format formerly commonly used for executables, object code, shared libraries and core dumps on Unix-like systems. The name "a.out" stands for "assembler output"; it is derived from the default file name for the output of Unix assemblers.
Most Unix-like systems have replaced the a.out format with ELF.
[edit] Structure
An a.out file consists of a single header followed by the executable image's text (code) and data sections, relocation information, a symbol table and a string table (containing symbol names).
The header starts with an identifier field (denoting whether the file is an executable or a core dump), followed by a series of lengths and addresses. The size and endianness of the header fields is, unfortunately, not very well-specified and architecture-dependent.