a.out (od ang. assembler output) – format plików wykonywalnych używany szczególnie w Uniksie i innych uniksopodobnych systemach operacyjnych jako format plików wykonywalnych, plików obiektowych oraz bibliotek dzielonych.

Format a.out pojawił się w pierwszej wersji systemu Unix działającej na komputerach PDP-7.

Wypieranie przez ELF

Format a.out został zastąpiony formatem COFF od wydania System V Release 3, który z kolei zastąpiono w wydaniu System V Release 4 formatem ELF. W GNU/Linuksie formatu a.out używano jako domyślnego formatu plików wykonywalnych i biliotek do wydania jądra w wersji 1.2 i biblioteki libc5. Od tamtego czasu domyślnie używa się formatu ELF. FreeBSD przeszło z a.out na ELF przy wersji 3.0; NetBSD przy wersji 1.5.

Odmiany

Istnieje kilka odmian formatu a.out: OMAGIC, NMAGIC, ZMAGIC oraz QMAGIC[1]:

a.out jako nazwa pliku

a.out jest tradycyjną nazwą pliku, generowanego przez kompilatory (a dokładniej: linkery). Nazwa pliku („a.out​”) obecnie nie ma związku z jego formatem (np. ELF). Domyślną nazwę można zmienić stosując, właściwy dla danego kompilatora, przełącznik. Przykładowo, w kompilatorach gcc/g++ jest to -o <nazwa pliku> :

gcc -Wall hello.cpp -o hello

(powstanie plik wykonywalny, o nazwie „hello”).

Przypisy

Linki zewnętrzne