Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Plik obiektowy - Wikipedia, wolna encyklopedia

Plik obiektowy

Z Wikipedii

plik obiektowy to rodzaj pliku binarnego generowanego przez kompilator lub asembler podczas kompilacji pliku z kodem źródłowym lub podczas łączenia plików obiektowych przez konsolidator.

Spis treści

[edytuj] Klasyfikacja

Pliki obiektowe można podzielić na cztery klasy:

[edytuj] Struktura

Ze względu na duże podobieństwo plików relokowalnych, plików wykonywalnych, bibliotek dynamicznych oraz zrzutów pamięci współczesne systemy operacyjne stosują jeden format pliku do opisu wszystkich czterech klas plików obiektowych. Oczywiście duże różnice pomiędzy systemami operacyjnymi powodują, że każda z rodzin systemów operacyjnych stosuje własny format. W systemach Unix takim formatem pliku jest Executable and Linkable Format (ELF), a w Microsoft Windows Portable Executable (PE).

Typowy plik obiektowy składa się co najmniej z następujących części:

  • nagłówek
  • kod i dane binarne
  • tablica symboli
  • informacje o relokacji
  • informacje dla debugera

Nagłówek umieszczany jest zawsze na początku pliku obiektowego i jest analizowany przez konsolidator oraz konsolidator dynamiczny w celu ustalenia dalszego sposobu postępowania z tym plikiem. Nagłówek dostarcza ogólnych informacji o pliku obiektowym takich jak:

  • format pliku obiektowego
  • kolejność bajtów, w jakim został zapisany ten plik obiektowy
  • klasa pliku obiektowego, która określa, czy dany plik to plik relokowalny, plik wykonywalny, biblioteka dynamiczna lub zrzut pamięci
  • architektura procesora, dla którego ten plik został stworzony
  • opis reszty pliku obiektowego (podział na sekcje oraz ich rozmiary)

Kod i dane binarne przechowują instrukcje zrozumiałe dla procesora oraz dane wykorzystywane przez te instrukcje. Są one kopiowane do pamięci operacyjnej przy uruchamianiu pliku wykonywalnego lub ładowaniu biblioteki dynamicznej. Pierwsze pliki obiektowe zawierały tylko kod i dane binarne.

Tablica symboli zawiera między innymi opisy funkcji i zmiennych eksportowanych przez plik obiektowy oraz opisy funkcji i zmiennych, do których ten plik się odwołuje. Opis pojedynczego symbolu zawiera:

  • nazwę symbolu (funkcji lub zmiennej)
  • wartość symbolu - często jest to adres, pod którym dany symbol (funkcja lub zmienna) zostanie umieszczony w pamięci
  • rodzaj symbolu

Informacje o relokacji określają miejsca w kodzie binarnym, które należy zmodyfikować podczas konsolidacji. Niektóre z nich są wykorzystywane przy zwykłej konsolidacji, niektóre (informacje o relokacji odwołań do bibliotek dynamicznych) dopiero przy uruchamianiu pliku wykonywalnego.

Informacje dla debugera mogą, ale nie muszą wystąpić w pliku obiektowym. Ich format może stanowić integralną część formatu pliku obiektowego (COFF), albo może być zdefiniowany oddzielnie i wykorzystywany z różnymi formatami plików obiektowych (stabs, DWARF).

[edytuj] Popularne formaty plików obiektowych

  • DOS
    • COM
    • DOS executable (MZ)
    • Relocatable Object Module Format - popularnie zwane plikami "OBJ" lub "OMF"; czasem wykorzystywane w Microsoft Windows
  • Systemy wbudowane
    • IEEE-695
    • S-records
  • Microsoft Windows
    • 16-bit New Executable
    • Portable Executable (PE) - używany w 32-bitowych i 64-bitowych wersjach Microsoft Windows
  • Inne
    • IBM 360 object format
    • NLM
    • XBE - Xbox executable
    • APP - Symbian executable file format.
    • RDOFF

[edytuj] Linki zewnętrzne


Zalążek artykułu To jest tylko zalążek artykułu związanego z informatyką. Jeśli potrafisz, rozbuduj go.

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com