Linux „.a” fájl létrehozása és futtatása

Linux A Fajl Letrehozasa Es Futtatasa



A fájlokkal való munka Linux operációs rendszerben különféle parancsok és technikák bevonását igényli, amelyek lehetővé teszik a fejlesztők számára a fájlok, kódok, programok, szkriptek és egyéb dolgok hatékony létrehozását és végrehajtását. Linux környezetben az „.a” kiterjesztésű fájlok statikus könyvtárként jelentős jelentőséggel bírnak. Ezek a könyvtárak fontos szerepet játszanak a szoftverfejlesztésben, lehetővé téve a fejlesztők számára, hogy hatékonyan kezeljék és hatékonyan megosszák a közös funkciókat több programmal.

Az „.a” fájl létrehozásának és futtatásának megértése elengedhetetlen a hatékony szoftverfejlesztéshez Linux környezetben. Ez egy átfogó útmutató egy Linux „.a” fájl telepítéséhez és konfigurálásához. Fedezzük fel, mi az a Linux „.a” fájl, fedezzük fel a célját, a szerkezetét, és hogyan lehet létrehozni és végrehajtani.

Mi az „.a” fájl Linuxban?

A Linux „.a” fájl olyan archív fájl, amely a lefordított kód és adatok tárolójaként szolgál. Általánosan ismert statikus könyvtárként, amely olyan kódokat tartalmaz, amelyek a fordításkor a hívó kódhoz kapcsolódnak, és az alkalmazás alapvető részévé válik. Ezek a Linux „.a” fájlok előre lefordított, alapvető hozzájárulást nyújtanak az alkalmazáshoz, teljesen szembeállítva a Linux „.so” dinamikus könyvtárak fájljaival, ahol a hivatkozás futás közben történik.







Képzeljünk el egy forgatókönyvet, amelyben egy fejlesztő három különböző programot valósít meg. Tudva, hogy ezeknek a programoknak a megosztott funkcionalitása létezik, a programozó létrehoz egy könyvtárat, amely magába foglalja ezeket a közös jellemzőket, amelyek „.a” fájlként jelennek meg. A fontos hír, hogy ezen a ponton az, hogy a Linux „.a” fájlok kódok és adatok újrafelhasználható gyűjteményévé válnak, amelyet más fejlesztők felhasználhatnak projektjeikben.



Előfeltételek:

Mielőtt továbbmenne, hogy megtanulja, hogyan hozhat létre és futtathat „.a” fájlt Linux alatt, fontos tudnia néhány alapvető dologról. Van néhány előfeltétel, amelyeket meg kell győződni egy funkció végrehajtása előtt Linuxban. Ezek a következők:



  • Ubuntu 20.04 vagy bármely legújabb verzió
  • Hozzáférés egy parancssorhoz vagy terminálablakhoz
  • Felhasználói fiók, konkrétan sudo jogosultságok különféle fájlokhoz és könyvtárakhoz

Hogyan hozhat létre és futtathat Linux „.a” fájlt?

A Linux „.a” fájl létrehozása és futtatása több lépésből áll: létrehozás, összeállítás és végrehajtás. Különböző módokon lehet ezeket a műveleteket végrehajtani, és mindegyiket külön-külön megvizsgáljuk. Fogjunk hozzá.





A következő példa futtatásához és végrehajtásához GCC fordítóra van szükség. A fordító az összes parancs futtatására szolgál a Linux „.a” fájl létrehozásához és futtatásához:



A következő lépések a különböző parancsokon és technikákon keresztül magyarázhatók.

1. lépés: Fordítson egy C-forrásfájlt

Kezdje el a munkát egy C forrásfájl létrehozásával egy GCC fordítóval, és fordítsa le a C forrásfájlokat (.c) objektumfájlokká (.o) a következő paranccsal:

$ gcc -Fal -c * .c

A „-Wall” jelző engedélyezi az összes figyelmeztetést, a „-c” jelző pedig azt utasítja a GCC-nek, hogy ezen a ponton csak a fordítást végezze el, a linkelést nem.

2. lépés: Hozza létre a könyvtári archívumot

A következő lépés a könyvtárfájl létrehozása. Az „ar” parancs létrehozza a statikus könyvtárarchívumot (.a) az objektumfájlokból. Ezért a következő parancsot használjuk:

$ Val vel -cvq libfile.a * .O

Ez a parancs egy „libfile.a” nevű statikus archív fájlt hoz létre az „.o” kiterjesztésű objektumfájlok kombinálásával az „ar” (archive) paranccsal a Linux operációs rendszerekben. Ennek a parancsnak három dologra kell figyelnie: „c”, „v” és „q”. Bontsuk fel az összetevőket, és értsük meg az egyes jelzők és argumentumok célját a parancs kontextusában:

ar: Linux rendszereken hajtja végre az archiválási parancsot. Az „ar” parancs alapvető funkciója az archívum létrehozása, módosítása és kibontása.

-c: Ez a jelző utasít egy új archívum létrehozására, ha még nem jött létre, vagy még nem létezik. Ha létezik ilyen nevű archív fájl, akkor a „-c” jelző biztosítja az újbóli létrehozását, és minden korábbi tartalmat lecserél.

-v: A bőbeszédű jelző részletes információkat jelenít meg az archiválási folyamatról. Visszajelzést ad arról, hogy mely fájlok kerülnek az archívumba.

-q: A „q” a „gyors hozzáfűzés” rövidítése. Megkéri az „ar” jelzőt, hogy azonnal fűzze hozzá a megadott fájlokat az archívumhoz anélkül, hogy ellenőrizné a duplikált szimbólumokat vagy időigényes műveleteket.

libfile.a: A fájl neve szükséges a létrehozandó vagy módosítandó parancshoz. Itt a fájlnevet „libfile”-ként adjuk meg „.a” kiterjesztéssel, ami azt jelzi, hogy ez egy statikus könyvtári archív fájl.

*.o: A parancs végén található „*” a kiválasztott könyvtárban lévő összes fájlt jelöli „.o” kiterjesztéssel, amely az objektumfájlokra utal. Az objektumfájlok a forráskód-összeállítás eredményei, és olyan gépi kódot tartalmaznak, amely még nem kapcsolódik egyetlen végső végrehajtható fájlhoz sem.

3. lépés: A könyvtár tartalmának megtekintése

Most, hogy létrehoztuk a könyvtár archívumot, láthatjuk az „ar –t” paranccsal. Az „ar –t” parancs felsorolja a könyvtárban található összes tartalmat.

$ Val vel -t libfile.a

Az „ar -t libfile.a” parancs felsorolja az összes objektumfájlt, amely a „libfile.a” nevű statikus könyvtár archív fájljában található az „ar” parancs használatával Linux operációs rendszerben. Elemezzük az egyes zászlókat és azok funkcióit:

ar: Mint korábban említettük, ez az archiválási parancs a Linux rendszerekben.

-t: A „-t” jelző az archívum tartalomjegyzékének megjelenítésére szolgál, megjelenítve a „libfile.a” fájlban tárolt objektumfájlok nevét.

libfile.a: Az adatok olvasásához ismernünk kell az archív fájl nevét.

4. lépés: A könyvtár használata egy másik programban

Lássuk most, hogyan használhatjuk az újonnan kifejlesztett Linux „.a” fájlt egy másik programban. Mióta létrehoztunk egy könyvtárat, mostantól bárhol és bármilyen programban használható, csak hozzá kell adni a könyvtárat a fordítási parancshoz. Ezt a következő parancs segítségével tudjuk megvalósítani. Tartalmazza a könyvtár összes szükséges fejlécét és hivatkozását.

$ gcc -O MyProgramMain.c -L pálya / nak nek / lib is -Fájl

Ebben a parancsban a „-L” a könyvtár elérési útját adja meg, az „-lfile” pedig a „library.a” libfile-hoz kapcsolódik, eltávolítva a „lib” előtagot és a „.a” utótagot.

5. lépés: Futtasson egy „.a” Linux fájlt

Végül futtathatjuk az „.a” fájlt. Az eredmény azonnal megjelenik, amikor a következő szkriptet futtatja a terminálon:

$ . / MyProgramMain

Ez a parancs végrehajtja a fájlt, felhasználva a forrásfájlokban és a hivatkozott statikus könyvtárban biztosított funkciókat.

Következtetés

Az „.a” fájl létrehozásához és futtatásához Linuxban le kell fordítani a fájl létrehozását, fordítását és összekapcsolását végrehajtó különféle parancsokat. E lépések és az egyes parancsok működési funkcióinak megértése lehetővé teszi a fejlesztők számára, hogy rendszerezzék kódjukat, külső könyvtárakat használhassanak, és méretezhető programokat fejlesszenek. Akár az alapvető parancsokat kell használnia, mint a nano és a GCC, akár fejlettebb technikákkal dolgozik statikus könyvtárakkal, ezeknek a készségeknek az elsajátítása segít a gyakorlati Linux alapú fejlesztésben.