A.out - a.out - Wikipedia

a.out
Fayl nomi kengaytmasi
yo'q, .o, .so
Tomonidan ishlab chiqilganAT & T
Format turiIkkilik, bajariladigan, ob'ekt, umumiy kutubxonalar

a.out a fayl formati ning eski versiyalarida ishlatilgan Unixga o'xshash kompyuter operatsion tizimlar uchun bajariladigan fayllar, ob'ekt kodi va keyingi tizimlarda, umumiy kutubxonalar. Bu "ning qisqartirilgan shaklimontajchi chiqish ", chiqadigan fayl nomi Ken Tompson "s PDP-7 montajchi.[1] Keyinchalik, bu atama olingan fayl formatiga ob'ekt kodining boshqa formatlariga qarama-qarshi ravishda qo'llanildi.

"a.out" ba'zi birlari tomonidan yaratilgan bajariladigan fayllar uchun standart chiqish fayli nomi bo'lib qoladi kompilyatorlar va bog'lovchilar hech qanday chiqish nomi ko'rsatilmagan bo'lsa ham, yaratilgan fayllar aslida a.out formatida emas.[2]

Tarix

An a.out uchun format PDP-7, ga o'xshash a.out formatida ishlatilgan PDP-11, UNIXning birinchi nashrida paydo bo'ldi.[3]Bu bilan almashtirildi COFF formatdagi AT&T Unix System V, bu o'z navbatida ELF formatdagi System V chiqarishi 4.

Garchi Berkli Unix dan foydalanishda davom etdi a.out bir muncha vaqt uchun zamonaviy BSD tizimlari ELF-ga o'tdi. NetBSD / i386 dan rasmiy ravishda almashtirildi a.out 1.5 versiyasida ELF-ga (2000 yil dekabr). FreeBSD / i386 2,2 dan 3,0 gacha bo'lgan o'tish davrida (1998 yil oktyabr) ELF-ga o'tdi.

MINIX 3 3.2.0 versiyasida ELF-ga o'tdi.

Linux shuningdek ishlatilgan a.out 1.2 yadrosiga qadar (1995 yil mart), u ELF tomonidan ushbu platforma uchun almashtirilgunga qadar.[4](ELF qo'llab-quvvatlashi eksperimental 1.1.52 yadrosiga qo'shilgan.) Linuxning ELF ga o'tishi binoning murakkabligi sababli ozmi-ko'pmi majbur bo'ldi. a.out ushbu platformadagi kutubxonalar, shu jumladan kutubxona joylashgan virtual manzil maydonini markaziy organ bilan ro'yxatdan o'tkazish zarurligini o'z ichiga olgan a.out Linux-dagi ld.so umumiy kutubxonalarni boshqa joyga ko'chira olmadi.[5]Turli xil BSD lazzatlari foydalanishni davom ettirishga muvaffaq bo'ldi a.out BSD-ning biroz moslashuvchanligi tufayli Linux ELF-ga o'tishga majbur bo'lganidan ancha keyin a.out Linux bilan taqqoslaganda format.[6][7] Linuxdagi a.out fayl formati 5.1 Linux yadrosi chiqarilishi bilan bekor qilindi.[8][9]

Foydalanish

Bog'lanish

Nosozliklarni tuzatish

The a.out uchun qo'llab-quvvatlash disk raskadrovka ma'lumotlar chaqirilgan belgilar jadvalidagi maxsus yozuvlardan foydalanish orqali amalga oshiriladi pichoqlar. Stabs formati ham ko'pchilikda ishlatilgan COFF va ELF o'zgarishlar.

Shuningdek qarang

Adabiyotlar

  1. ^ Ritchi (1993): "Tompsonning PDP-7 yig'uvchisi hatto soddalik bilan DEC-lardan ustun keldi; u iboralarni baholadi va mos keladigan bitlarni chiqardi. Hech qanday kutubxona, yuklovchi yoki havola muharriri yo'q edi: dasturning butun manbai yig'uvchiga taqdim etilgan va chiqadigan fayl - paydo bo'lgan sobit ism bilan to'g'ridan-to'g'ri bajarilishi mumkin edi (bu ism, a. tashqarida, Unix etimologiyasini biroz tushuntiradi; bu montajchining chiqishi. Tizim bog'lovchi va boshqa nomni aniq belgilash vositasini qo'lga kiritgandan so'ng ham, u kompilyatsiya natijasi sifatida saqlanib qoldi.) "
  2. ^ Rupert Vud (2002 yil 8 aprel). "A.out bilan nima qilish kerak". gcc-yordam (Pochta ro'yxati). Olingan 28 aprel 2007.
  3. ^ Dennis Ritchi (1971 yil 3-noyabr). a.out - assembler va link muharriri chiqishi (PDF). Bell laboratoriyalari. Olingan 24-noyabr 2006.
  4. ^ Daniel Barlow (1996 yil 14-iyul). "Linux ELF HOWTO (v1.29)". Arxivlandi asl nusxasi 2004 yil 13-iyulda. Olingan 28 mart 2008.
  5. ^ Ulrix Drepper (2006 yil 20-avgust). "Umumiy kutubxonalarni qanday yozish kerak" (PDF). 4.0. 1.1-bo'lim (Tarixning ozgina qismi). Arxivlandi (PDF) asl nusxasidan 2007 yil 16 iyunda. Olingan 20 iyun 2007. Umumiy kutubxonalarni tanishtirishda a.out chegaralarida ishlash uchun ma'lum dizayn qarorlari qabul qilinishi kerak edi. [...] Shu sabablarga ko'ra va yana ko'p narsalar Linux ikkilik format sifatida ELF (Executable Linkage Format) dan foydalanishga o'tdi. Iqtibos jurnali talab qiladi | jurnal = (Yordam bering)
  6. ^ Erik Yangdeyl (1995 yil 1 aprel). "ELF ob'ekti uchun fayl formati: kirish". Arxivlandi asl nusxasidan 2009 yil 10 martda. Olingan 6 may 2012. (...) a.out bilan ishlaydigan umumiy kutubxona dasturlarini loyihalashtirish mumkin emas. Amaldagi Linux umumiy kutubxonalari, albatta, bitta misol; Yana bir misol - hozirda BSD-du-jour tomonidan ishlatiladigan SunOS uslubidagi umumiy kutubxonalar. SunOS uslubidagi umumiy kutubxonalar ELF umumiy kutubxonalari bilan bir xil tushunchalarni o'z ichiga oladi [...]
  7. ^ "BSD afsonalari". Arxivlandi asl nusxasidan 2007 yil 17 aprelda. Olingan 10 aprel 2007. Oldinroq o'tish uchun jiddiy sabablar bo'lmagan. Xususan, FreeBSD Linux-ning a.out-dan ELF-ga aylanishiga turtki bergan umumiy kutubxonalarni yaratishda muammolarga duch kelmadi (va yo'q).
  8. ^ "Linux yadrosi nihoyat A. Out qo'llab-quvvatlanishini bekor qildi - Phoronix". www.phoronix.com. Olingan 1 sentyabr 2020.
  9. ^ Borislav Petkov (2019 yil 5 mart). "x86: a.out-ni qo'llab-quvvatlashni bekor qiling". Olingan 5 mart 2019. Linux ~ 25 yildan beri ELF ikkiliklarini qo'llab-quvvatlaydi. a.out coredumping juda sezilarli darajada qisqartirildi va uni yana shaklga keltirish uchun biroz tuzatish kerak bo'ladi, lekin hatto asboblar zanjirlari standart konfiguratsiyasida qanday qilib a.out executable fayllarini yarata olmasligini hisobga olsak, keling, a.out qo'llab-quvvatlovini bekor qilamiz va keyinroq uni chiqaramiz , o'rniga.

Tashqi havolalar