Razumijevanje kako stvoriti i pokrenuti '.a' datoteku ključno je za učinkovit razvoj softvera u Linux okruženju. Ovo je sveobuhvatna uputa za instaliranje i konfiguriranje Linux datoteke '.a'. Otkrijmo što je Linux datoteka '.a', istražimo njezinu svrhu, strukturu i kako se može stvoriti i izvršiti.
Što je datoteka '.a' u Linuxu?
Linux “.a” datoteka je arhivska datoteka koja služi kao spremnik za kompilirani kod i podatke. Općenito je poznata kao statička biblioteka koja sadrži kodove koji su povezani s pozivnim kodom u vrijeme kompilacije koji postaje temeljni dio aplikacije. Ove Linux '.a' datoteke daju unaprijed kompajlirani, temeljni doprinos aplikaciji, potpuno kontrastirajući Linux '.so' datotekama dinamičkih biblioteka gdje se povezivanje događa tijekom izvođenja.
Zamislimo scenarij u kojem programer implementira tri različita programa. Znajući da postoji zajednička funkcionalnost između ovih programa, programer stvara biblioteku koja sažima te zajedničke značajke koje su predstavljene kao datoteka '.a'. Važna vijest koju u ovom trenutku treba znati jest da datoteke Linuxa '.a' postaju višekratna zbirka koda i podataka koju drugi programeri mogu koristiti u svojim projektima.
Preduvjeti:
Prije nego što prijeđete na učenje kako stvoriti i pokrenuti datoteku '.a' u Linuxu, važno je znati nekoliko osnovnih stvari. Postoji nekoliko preduvjeta koje treba osigurati prije izvođenja neke funkcije u Linuxu. Oni su sljedeći:
- Ubuntu 20.04 ili bilo koja najnovija verzija
- Pristup naredbenom retku ili prozoru terminala
- Korisnički račun, posebno sudo privilegije, za razne datoteke i direktorije
Kako stvoriti i pokrenuti Linux datoteku '.a'?
Stvaranje i pokretanje Linux '.a' datoteke uključuje niz koraka: stvaranje, kompilaciju i izvođenje. Za izvođenje ovih radnji mogu se koristiti različiti načini, a mi ćemo istražiti svaki od njih pojedinačno. Počnimo.
Potreban vam je GCC prevodilac za pokretanje i izvršavanje sljedećeg primjera. Kompajler se koristi za pokretanje svih naredbi za stvaranje i pokretanje Linux datoteke '.a':
Slijede koraci koji su objašnjeni kroz različite naredbe i tehnike.
Korak 1: Sastavite C izvornu datoteku
Započnite rad stvaranjem izvorne datoteke C-a pomoću GCC prevoditelja za prevođenje C izvornih datoteka (.c) u objektne datoteke (.o) sljedećom naredbom:
$ gcc -Zid -c * .cOznaka '-Wall' omogućuje sva upozorenja, a zastavica '-c' govori GCC-u da u ovom trenutku samo kompilira, a ne povezuje.
Korak 2: Stvorite arhivu knjižnice
Sljedeći korak je stvaranje datoteke knjižnice. Naredba “ar” stvara arhivu statičke biblioteke (.a) iz objektnih datoteka. Stoga koristimo sljedeću naredbu:
$ S -cvq libfile.a * .OOva naredba stvara statičku arhivsku datoteku pod nazivom “libfile.a” kombiniranjem različitih objektnih datoteka koje imaju ekstenziju “.o” pomoću naredbe “ar” (arhiva) u operativnim sustavima Linux. Ova naredba ima tri stvari koje treba primijetiti: “c”, “v” i “q”. Razdvojimo komponente i shvatimo svrhu svake zastavice i argumenta u kontekstu ove naredbe:
ar: Izvodi naredbu arhiviranja u Linux sustavima. Osnovna funkcija naredbe “ar” je stvaranje, modificiranje i izdvajanje iz arhive.
-c: Ova zastavica upućuje na stvaranje nove arhive ako već nije stvorena ili još ne postoji. Ako arhivska datoteka s danim nazivom postoji, oznaka '-c' osigurava njezino ponovno stvaranje, zamjenjujući svaki prethodni sadržaj.
-v: Verbose oznaka prikazuje detaljne informacije o procesu arhiviranja. Pruža povratnu informaciju o tome koje se datoteke dodaju u arhivu.
-q: 'q' označava 'brzo dodavanje'. Traži od oznake 'ar' da odmah doda navedene datoteke u arhivu bez provjere dupliciranih simbola ili dugotrajnih operacija.
libfile.a: ime datoteke je potrebno za naredbu koja će biti kreirana ili modificirana. Ovdje dajemo naziv datoteke kao 'libfile' s ekstenzijom '.a' koja označava da je to statična arhivska datoteka knjižnice.
*.o: “*” na kraju naredbe predstavlja svaku datoteku u odabranom direktoriju s ekstenzijom “.o” koja se odnosi na objektne datoteke. Objektne datoteke su rezultati kompilacije izvornog koda i sadrže strojni kod koji još nije povezan ni s jednom konačnom izvršnom datotekom.
Korak 3: Pregledavanje sadržaja biblioteke
Sada kada smo stvorili arhivu knjižnice, možemo je vidjeti pomoću naredbe “ar –t”. Naredba “ar –t” ispisuje sve sadržaje koji su prisutni u knjižnici.
$ S -t libfile.aNaredba “ar -t libfile.a” ispisuje sve objektne datoteke koje se nalaze u arhivskoj datoteci statičke knjižnice pod nazivom “libfile.a” pomoću naredbe “ar” u operativnom sustavu Linux. Analizirajmo svaku zastavu i njihovu funkcionalnost:
ar: Kao što je ranije spomenuto, ovo je naredba arhiviranja u Linux sustavima.
-t: Oznaka '-t' koristi se za prikaz tablice sadržaja arhive, prikazujući nazive objektnih datoteka koje su pohranjene unutar 'libfile.a.'
libfile.a: Da bismo pročitali podatke, moramo znati naziv arhivske datoteke.
Korak 4: Korištenje biblioteke u drugom programu
Pogledajmo sada kako koristiti novorazvijenu Linux datoteku '.a' u drugom programu. Budući da smo stvorili biblioteku, ona se sada može koristiti bilo gdje iu bilo kojem programu samo dodavanjem biblioteke u naredbu za kompajliranje. To možemo postići uz pomoć sljedeće naredbe. Uključuje sva potrebna zaglavlja i poveznice biblioteke.
$ gcc -O MyProgramMain.c -L staza / do / lib je -datotekaU ovoj naredbi, “-L” navodi stazu biblioteke, “-lfile” se povezuje s “library.a” libfileom, uklanjajući prefiks “lib” i sufiks “.a”.
Korak 5: Pokrenite '.a' Linux datoteku
Konačno, možemo pokrenuti datoteku '.a'. Ishod vam se prikazuje odmah nakon pokretanja sljedeće skripte na vašem terminalu:
$ . / MyProgramMainOva naredba izvršava datoteku, koristeći funkcionalnosti koje su dostupne u izvornim datotekama i povezanoj statičkoj biblioteci.
Zaključak
Stvaranje i pokretanje datoteke '.a' u Linuxu zahtijeva kompajliranje različitih naredbi koje izvode stvaranje datoteke, kompilaciju i povezivanje. Razumijevanje ovih koraka i radnih funkcija svake naredbe omogućuje programerima da organiziraju svoj kod, koriste vanjske biblioteke i razvijaju skalabilne programe. Bilo da trebate koristiti osnovne naredbe kao što su nano i GCC ili ćete raditi s naprednijim tehnikama sa statičkim bibliotekama, ovladavanje ovim vještinama pomaže u praktičnom razvoju temeljenom na Linuxu.