Skip to main content

Co to jest plik obiektowy?

Plik obiektu to plik komputerowy generowany przez program o nazwie kompilator i zawiera dane, a także instrukcje.Kompilatory tłumaczą kod źródłowy języka programowania na pośrednie odczytanie maszyny, zwany kodem obiektu.Mniejsze programy mogą być skompilowane w jednym pliku obiektu, podczas gdy większe programy są zwykle kompilowane w kilku plikach powiązanej funkcji.Te poszczególne pliki obiektów łączą informacje o linku i systemu operacyjnego, które są dodawane do tworzenia programu wykonywalnego.

W powszechnej praktyce plik obiektu jest oznaczony przez rozszerzenie pliku .obj.Istnieje jednak kilka różnych formatów dla tych plików.Najczęstsze są Intel Format modułu obiektowego (OMF) oraz format pliku obiektowego (Coff) Windows Reg i UNIX System V. W wielu Inix Systemy, format wykonywalny i łączący (ELF) został zastąpiony po stronie.

Niezależnie od formatu plik obiektu zwykle zawiera trzy typy informacji, które pozwalają na interakcję z innymi modułami programu.Procedury i dane, które są otwarte na odniesienie zewnętrzne, przypisane są nazwy, za pomocą których można je wywołać z innych modułów.Podobnie odnotowane są odniesienia do informacji poza modułem, ale nie przypisano nazwy.Po połączeniu plików bezimienne odniesienia zostaną przypisane nazwę podaną w module, w którym zostały pierwotnie zdefiniowane.Nazwy lokalne są używane do instrukcji i danych, o których mowa wyłącznie w module.

Nie cały kod połączenia jest przechowywany jako pliki obiektów.Biblioteki to kolekcje wstępnie skompilowanych procedur, które są przechowywane jako kod obiektu.Są one produkowane w taki sam sposób jak pliki obiektowe i są przydatne do przechowywania często nazywanych procedurami.Gdy linker nie znajdzie odniesienia w innych plikach obiektów, automatycznie wyszukuje go w pliku bibliotecznym.Większość implementacji języka programowania jest wyposażona w standardową bibliotekę funkcji.

Za pomocą dynamicznego łączenia plik obiektu może być jednocześnie używany przez wiele programów wykonywania.Zamiast wiązania kodu obiektowego z programem po połączeniu, jest to pobierane po załadowaniu programu lub w czasie wykonywania po odwołaniu procedury.W systemie Windows Środowisko, są one znane jako dynamiczne biblioteki linków i są oznaczone rozszerzeniem .dll.Systemy podobne do UNIX i Reg;Często określa ten typ pliku dynamicznym obiektem udostępnionym (DSO).Ten typ pliku obiektów może być również zaimplementowany do użytku z konkretnym programem i byłby częścią instalacji tego programów.