For faster navigation, this Iframe is preloading the Wikiwand page for a.out.

a.out

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

[edytuj | edytuj kod]

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

[edytuj | edytuj kod]

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

  • OMAGIC – ma ciągłe segmenty po nagłówku, bez żadnej separacji tekstu i danych.
  • NMAGIC – jest podobny do OMAGIC, jednak w nim segment danych jest ładowany na następnej stronie po zakończeniu segmentu tekstu; segment tekstu jest tylko do odczytu.
  • ZMAGIC – dodał wsparcie na stronicowanie na żądanie.
  • QMAGIC – pozwala nagłówkowi na bycie złączonym z pierwszą stroną segmentu tekstu, zazwyczaj oszczędzając jedną stronę pamięci. Pliki wykonywalne QMAGIC z reguły są ładowane jedną stronę przed końcem wirtualnej przestrzeni adresowej, żeby umożliwić wychwycenie dereferencji wskaźnika zerowego poprzez błąd segmentacji.

a.out jako nazwa pliku

[edytuj | edytuj kod]

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

[edytuj | edytuj kod]

Linki zewnętrzne

[edytuj | edytuj kod]
{{bottomLinkPreText}} {{bottomLinkText}}
a.out
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?