Creació i execució d'un fitxer '.a' de Linux

Creacio I Execucio D Un Fitxer A De Linux



Treballar amb fitxers en un sistema operatiu Linux requereix la implicació de diverses ordres i tècniques que permeten als desenvolupadors crear i executar fitxers, codi, programes, scripts i altres coses de manera eficient. En l'entorn Linux, els fitxers amb l'extensió '.a' tenen una importància important com a biblioteques estàtiques. Aquestes biblioteques tenen un paper important en el desenvolupament de programari, permetent als desenvolupadors gestionar de manera eficient i compartir eficaçment les funcionalitats comunes amb diversos programes.

Comprendre com crear i executar un fitxer '.a' és crucial per al desenvolupament de programari efectiu a l'entorn Linux. Aquesta és una instrucció completa per instal·lar i configurar un fitxer '.a' de Linux. Descobrim què és el fitxer '.a' de Linux, explorem el seu propòsit, estructura i com es pot crear i executar.

Què és un fitxer '.a' a Linux?

Un fitxer '.a' de Linux és un fitxer d'arxiu que serveix com a contenidor per a un codi i dades compilats. Es coneix comunament com una biblioteca estàtica que conté codis que estan vinculats al codi de trucada en el moment de la compilació, que esdevé una part fonamental de l'aplicació. Aquests fitxers '.a' de Linux proporcionen una contribució bàsica prèviament compilada a l'aplicació, contrastant completament els fitxers de biblioteques dinàmiques '.so' de Linux on es produeix l'enllaç en temps d'execució.







Imaginem un escenari en què un desenvolupador implementa tres programes diferents. Sabent que existeix la funcionalitat compartida entre aquests programes, el programador crea una biblioteca que encapsula aquestes característiques comunes que es presenten com un fitxer '.a'. La notícia important a saber en aquest moment és que els fitxers '.a' de Linux es converteixen en una col·lecció reutilitzable de codi i dades que altres desenvolupadors poden utilitzar en els seus projectes.



Requisits previs:

Abans de passar a aprendre a crear i executar un fitxer '.a' a Linux, és important conèixer algunes coses bàsiques. Hi ha uns quants requisits previs que s'han de garantir abans de realitzar una funció a Linux. Són els següents:



  • Ubuntu 20.04 o qualsevol versió més recent
  • Accés a una línia d'ordres o finestra de terminal
  • Un compte d'usuari, específicament privilegis sudo, per a diversos fitxers i directoris

Com es crea i executa un fitxer '.a' de Linux?

La creació i execució d'un fitxer '.a' de Linux implica una sèrie de passos: creació, compilació i execució. Es poden utilitzar diferents maneres de realitzar aquestes accions, i les explorarem individualment. Comencem.





Necessiteu un compilador GCC per executar i executar l'exemple següent. El compilador s'utilitza per executar totes les ordres per crear i executar el fitxer '.a' de Linux:



A continuació es mostren els passos que s'expliquen mitjançant diverses ordres i tècniques.

Pas 1: compila un fitxer font C

Comenceu el treball creant un fitxer font de C amb un compilador GCC per compilar els fitxers font C (.c) en fitxers objecte (.o) amb l'ordre següent:

$ gcc - Paret -c * .c

El senyalador '-Wall' activa tots els avisos i el senyalador '-c' diu al GCC només que compili, no enllaçi, en aquest moment.

Pas 2: creeu l'arxiu de la biblioteca

El següent pas és crear el fitxer de la biblioteca. L'ordre 'ar' crea l'arxiu de la biblioteca estàtica (.a) a partir dels fitxers objecte. Per tant, fem servir la següent comanda:

$ Amb -cvq libfile.a * .O

Aquesta ordre crea un fitxer d'arxiu estàtic anomenat 'libfile.a' combinant diversos fitxers d'objecte que tenen una extensió '.o' mitjançant l'ordre 'ar' (arxiu) als sistemes operatius Linux. Aquesta ordre té tres coses a tenir en compte: 'c', 'v' i 'q'. Desglossem els components i entenem el propòsit de cada bandera i argument en el context d'aquesta ordre:

ar: realitza l'ordre d'arxiu als sistemes Linux. La funció bàsica de l'ordre 'ar' és crear, modificar i extreure l'arxiu.

-c: Aquesta marca indica per crear un nou arxiu si encara no s'ha creat o encara no existeix. Si existeix un fitxer d'arxiu amb el nom donat, el senyalador '-c' assegura que es recrea, substituint qualsevol contingut anterior.

-v: el senyalador detallat mostra una informació detallada sobre el procés d'arxivament. Proporciona un comentari sobre quins fitxers s'afegeixen a l'arxiu.

-q: La 'q' significa 'afegir ràpidament'. Demana a la marca 'ar' que afegiu ràpidament els fitxers especificats a l'arxiu sense comprovar si hi ha símbols duplicats ni operacions que requereixen temps.

libfile.a: el nom del fitxer és necessari per a l'ordre que es crearà o es modificarà. Aquí, donem un nom de fitxer com a 'libfile' amb l'extensió '.a' que indica que és un fitxer d'arxiu de biblioteca estàtic.

*.o: El '*' al final de l'ordre representa cada fitxer del directori seleccionat amb una extensió '.o' que fa referència als fitxers objecte. Els fitxers objecte són el resultat de la compilació del codi font i contenen un codi màquina que encara no està vinculat a cap executable final.

Pas 3: Visualització del contingut de la biblioteca

Ara que hem creat l'arxiu de la biblioteca, el podem veure amb l'ordre 'ar –t'. L'ordre “ar –t” enumera tots els continguts que hi ha a la biblioteca.

$ Amb -t libfile.a

L'ordre 'ar -t libfile.a' enumera tots els fitxers d'objecte que es troben dins del fitxer d'arxiu de la biblioteca estàtica anomenat 'libfile.a' mitjançant l'ordre 'ar' en un sistema operatiu Linux. Analitzem cada bandera i la seva funcionalitat:

ar: Com s'ha esmentat anteriorment, aquesta és l'ordre d'arxiu als sistemes Linux.

-t: el senyalador '-t' s'utilitza per mostrar la taula de continguts de l'arxiu, mostrant els noms dels fitxers d'objecte que s'emmagatzemen a 'libfile.a'.

libfile.a: Per llegir les dades, hem de conèixer el nom del fitxer d'arxiu.

Pas 4: Ús de la biblioteca en un altre programa

Vegem ara com utilitzar el fitxer '.a' de Linux recentment desenvolupat en un programa diferent. Com que hem creat una biblioteca, ara es pot utilitzar a qualsevol lloc i en qualsevol programa amb només afegir la biblioteca a l'ordre de compilació. Ho podem aconseguir amb l'ajuda de l'ordre posterior. Inclou totes les capçaleres i enllaços necessaris de la biblioteca.

$ gcc -O MyProgramMain.c -L Camí / a / lib és -lfile

En aquesta ordre, '-L' especifica el camí de la biblioteca, '-lfile' enllaça amb el fitxer lib 'library.a', eliminant el prefix 'lib' i el sufix '.a'.

Pas 5: executeu un fitxer Linux '.a'.

Finalment, podem executar el fitxer “.a”. El resultat es mostra immediatament després d'executar l'script següent al terminal:

$ . / MyProgramMain

Aquesta ordre executa el fitxer, utilitzant les funcionalitats que es proporcionen tant als fitxers font com a la biblioteca estàtica enllaçada.

Conclusió

La creació i execució d'un fitxer '.a' a Linux requereix la compilació de les diferents ordres que realitzen la creació, compilació i enllaç de fitxers. Entendre aquests passos i les funcionalitats de treball de cada comanda permet als desenvolupadors organitzar el seu codi, utilitzar biblioteques externes i desenvolupar programes escalables. Tant si necessiteu utilitzar les ordres bàsiques com nano i GCC o si esteu a punt de treballar amb tècniques més avançades amb biblioteques estàtiques, dominar aquestes habilitats us ajuda en el desenvolupament pràctic basat en Linux.