Tworzenie i uruchamianie pliku „.a” systemu Linux

Tworzenie I Uruchamianie Pliku A Systemu Linux



Praca z plikami w systemie operacyjnym Linux wymaga użycia różnych poleceń i technik, które umożliwiają programistom wydajne tworzenie i wykonywanie plików, kodu, programów, skryptów i innych rzeczy. W środowisku Linux pliki z rozszerzeniem „.a” mają duże znaczenie jako biblioteki statyczne. Biblioteki te odgrywają ważną rolę w tworzeniu oprogramowania, umożliwiając programistom efektywne zarządzanie i efektywne udostępnianie wspólnych funkcjonalności wielu programom.

Zrozumienie sposobu tworzenia i uruchamiania pliku „.a” ma kluczowe znaczenie dla skutecznego tworzenia oprogramowania w środowisku Linux. Jest to kompleksowy poradnik dotyczący instalowania i konfigurowania pliku „.a” systemu Linux. Odkryjmy, czym jest plik „.a” w systemie Linux, poznajmy jego cel, strukturę oraz sposób jego tworzenia i wykonywania.

Co to jest plik „.a” w systemie Linux?

Plik „.a” systemu Linux to plik archiwum, który służy jako pojemnik na skompilowany kod i dane. Jest powszechnie znana jako biblioteka statyczna zawierająca kody powiązane z kodem wywołującym w czasie kompilacji, który staje się podstawową częścią aplikacji. Te pliki „.a” systemu Linux stanowią wstępnie skompilowany, podstawowy wkład do aplikacji, całkowicie kontrastując z plikami bibliotek dynamicznych systemu Linux „.so”, w których łączenie odbywa się w czasie wykonywania.







Wyobraźmy sobie scenariusz, w którym programista wdraża trzy różne programy. Wiedząc, że istnieje wspólna funkcjonalność tych programów, programista tworzy bibliotekę, która zawiera te wspólne funkcje i jest prezentowana jako plik „.a”. Ważną wiadomością, o której warto wiedzieć w tym momencie, jest to, że pliki „.a” Linuksa stają się zbiorem kodu i danych wielokrotnego użytku, którego inni programiści mogą używać w swoich projektach.



Warunki wstępne:

Zanim przejdziesz do nauki tworzenia i uruchamiania pliku „.a” w systemie Linux, ważne jest, aby poznać kilka podstawowych rzeczy. Przed wykonaniem funkcji w systemie Linux należy spełnić kilka warunków wstępnych. Są one następujące:



  • Ubuntu 20.04 lub dowolna najnowsza wersja
  • Dostęp do wiersza poleceń lub okna terminala
  • Konto użytkownika, w szczególności uprawnienia sudo, dla różnych plików i katalogów

Jak utworzyć i uruchomić plik „.a” systemu Linux?

Tworzenie i uruchamianie pliku „.a” systemu Linux obejmuje szereg kroków: utworzenie, kompilację i wykonanie. Do wykonania tych czynności można wykorzystać różne sposoby, a każdy z nich zbadamy indywidualnie. Zacznijmy.





Do uruchomienia i wykonania poniższego przykładu potrzebny jest kompilator GCC. Kompilator służy do uruchamiania wszystkich poleceń tworzących i uruchamiających plik „.a” systemu Linux:



Poniżej przedstawiono kroki objaśnione za pomocą różnych poleceń i technik.

Krok 1: Skompiluj plik źródłowy C

Rozpocznij pracę od utworzenia pliku źródłowego C za pomocą kompilatora GCC w celu skompilowania plików źródłowych C (.c) do plików obiektowych (.o) za pomocą następującego polecenia:

$ gcc -Ściana -C * .C

Flaga „-Wall” włącza wszystkie ostrzeżenia, a flaga „-c” informuje GCC tylko o konieczności kompilacji, a nie łączenia, w tym momencie.

Krok 2: Utwórz archiwum biblioteczne

Następnym krokiem jest utworzenie pliku biblioteki. Polecenie „ar” tworzy archiwum biblioteki statycznej (.a) z plików obiektowych. Dlatego używamy następującego polecenia:

$ Z -cvq plik lib.a * .O

To polecenie tworzy statyczny plik archiwum o nazwie „libfile.a”, łącząc różne pliki obiektowe z rozszerzeniem „.o” za pomocą polecenia „ar” (archiwum) w systemach operacyjnych Linux. W tym poleceniu należy zwrócić uwagę na trzy rzeczy: „c”, „v” i „q”. Rozłóżmy komponenty i zrozumiejmy cel każdej flagi i argumentu w kontekście tego polecenia:

ar: Wykonuje polecenie archiwizacji w systemach Linux. Podstawową funkcją polecenia „ar” jest tworzenie, modyfikowanie i wyodrębnianie z archiwum.

-c: Ta flaga instruuje utworzenie nowego archiwum, jeśli nie zostało jeszcze utworzone lub jeszcze nie istnieje. Jeśli plik archiwum o podanej nazwie istnieje, flaga „-c” zapewnia jego odtworzenie, zastępując całą poprzednią zawartość.

-v: Flaga pełna wyświetla szczegółowe informacje o procesie archiwizacji. Zapewnia informację zwrotną na temat tego, które pliki są dodawane do archiwum.

-q: „q” oznacza „szybkie dołączanie”. Prosi flagę „ar”, aby natychmiast dołączyła określone pliki do archiwum bez sprawdzania duplikatów symboli lub czasochłonnych operacji.

libfile.a: Nazwa pliku jest wymagana dla polecenia, które zostanie utworzone lub zmodyfikowane. Tutaj podajemy nazwę pliku jako „libfile” z rozszerzeniem „.a”, które wskazuje, że jest to plik archiwum biblioteki statycznej.

*.o: „*” na końcu polecenia reprezentuje każdy plik w wybranym katalogu z rozszerzeniem „.o”, które odnosi się do plików obiektowych. Pliki obiektowe są wynikami kompilacji kodu źródłowego i zawierają kod maszynowy, który nie jest jeszcze powiązany z żadnym końcowym plikiem wykonywalnym.

Krok 3: Przeglądanie zawartości biblioteki

Teraz, gdy utworzyliśmy archiwum biblioteki, możemy je zobaczyć za pomocą polecenia „ar –t”. Polecenie „ar –t” wyświetla całą zawartość biblioteki.

$ Z -T plik lib.a

Polecenie „ar -t libfile.a” wyświetla listę wszystkich plików obiektowych zawartych w pliku archiwum biblioteki statycznej o nazwie „libfile.a” przy użyciu polecenia „ar” w systemie operacyjnym Linux. Przeanalizujmy każdą flagę i jej funkcjonalność:

ar: Jak wspomniano wcześniej, jest to polecenie archiwizacji w systemach Linux.

-t: Flaga „-t” służy do wyświetlania spisu treści archiwum, wyświetlając nazwy plików obiektowych przechowywanych w pliku „libfile.a”.

libfile.a: Aby odczytać dane, musimy znać nazwę pliku archiwum.

Krok 4: Korzystanie z biblioteki w innym programie

Zobaczmy teraz, jak wykorzystać nowo opracowany plik „.a” systemu Linux w innym programie. Ponieważ stworzyliśmy bibliotekę, można jej teraz używać w dowolnym miejscu i w dowolnym programie, po prostu dodając bibliotekę do polecenia kompilacji. Możemy tego dokonać za pomocą kolejnego polecenia. Zawiera wszystkie niezbędne nagłówki i linki biblioteki.

$ gcc -O MójProgramMain.c -L ścieżka / Do / biblioteka jest -lplik

W tym poleceniu „-L” określa ścieżkę biblioteki, „-lfile” łączy z plikiem lib „library.a”, usuwając przedrostek „lib” i przyrostek „.a”.

Krok 5: Uruchom plik Linux „.a”.

Na koniec możemy uruchomić plik „.a”. Wynik zostanie wyświetlony natychmiast po uruchomieniu następującego skryptu w terminalu:

$ . / Mój program główny

To polecenie wykonuje plik, wykorzystując funkcje dostępne zarówno w plikach źródłowych, jak i połączonej bibliotece statycznej.

Wniosek

Tworzenie i uruchamianie pliku „.a” w systemie Linux wymaga skompilowania różnych poleceń, które wykonują tworzenie, kompilację i łączenie plików. Zrozumienie tych kroków i działających funkcjonalności każdego polecenia umożliwia programistom organizowanie kodu, korzystanie z bibliotek zewnętrznych i tworzenie skalowalnych programów. Niezależnie od tego, czy potrzebujesz używać podstawowych poleceń, takich jak nano i GCC, czy masz zamiar pracować z bardziej zaawansowanymi technikami z bibliotekami statycznymi, opanowanie tych umiejętności pomaga w praktycznym programowaniu w oparciu o system Linux.