Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
ELF
ELF arba "Executable and Linkable Format" - tai toksai vykdomųjų failų, t.y., programų ir programinių bibliotekų formatas, kuris atsirado su UNIX versija SVR4, išleista 1988 metais.
Prieš tai buvo išleistas SVR3 variantas, kuris žinomas kaip bene grubiausias ATT kompanijos apsišikimas, bebandant imti ir užsigrobti sau UNIX rinką, darant kokias tai nesąmones. Su tuo UNIX "standartu" buvo įvestas COFF formatas, kuris niekur nepasiteisino, nors, tiesa, dėl kažkokių nesuprantamų priežasčių tapo pagrindu PE formatui, katras iki šiolei naudojamas su Windows sistemomis.
Tuo tarpu vietoje UNIX sistemose dominuojančio a.out formato SVR4 sistemose atsirado ELF, katras pasiteisino ir išplito tiek, kad naudojamas visur, kur tik yra žodis "UNIX", įskaitant ir visas šiuolaikines BSD sistemų versijas, ir įvairiausias Linux sistemas, ir visokius kitokius komercinius UNIX, iš tų, kurie kažkaip vis dar išliko.
Tiesa, ELF formatas turi vieną bėdą - kai nutarė nuprastinti visas COFF prigalvotas "o kas, jeigu" tipo nesąmones, tai numetė ir prielaidą, kad sukompiliuota programa gali turėti kelias architektūras, t.y., kelis skirtingus aplikacijų binarinius interfeisus. Taigi, tiesiog neliko galimybės tam, kad tas pats vykdomasis failas galėtų būti paleistas ant kelių skirtingų OS ar ant kelių skirtingų kompiuterių architektūrų. Dar daugiau - neliko netgi žymėjimo, kuriai konkrečiai OS ir architektūrai tas vykdomasis failas yra skirtas. Kai kuriose OS, kaip kad FreeBSD tam tikslui yra įvedamas šioks toks apėjimas - brandelf, kuri leidžia sužymėti, ar programa naudoja Linux, ar BSD, ar dar kokį tai kitą API. Tačiau toksai apėjimas visgi nėra standartinis.