Maison  >  Article  >  Opération et maintenance  >  Qu'est-ce qu'un fichier .a sous Linux

Qu'est-ce qu'un fichier .a sous Linux

WBOY
WBOYoriginal
2022-07-14 16:06:213202parcourir

Sous Linux, le fichier « .a » est un fichier de bibliothèque de liens statiques ; un fichier de bibliothèque de liens statiques fait référence à la fonction ou au processus à appeler qui est lié au fichier exécutable et devient une partie du fichier exécutable, et la fonction code appelé par le lien dynamique Il n'est pas copié dans le fichier exécutable de l'application, mais les informations de description de la fonction appelée y sont ajoutées.

Qu'est-ce qu'un fichier .a sous Linux

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Qu'est-ce qu'un fichier .a sous Linux ?

.un fichier est un fichier de bibliothèque de liens statiques dans le système LINUX.

La liaison dite statique fait référence au fait de lier la fonction ou le processus à appeler dans le fichier exécutable et de devenir une partie du fichier exécutable. Lorsque plusieurs programmes appellent la même fonction, il y aura plusieurs copies de la fonction dans la mémoire, gaspillant ainsi de précieuses ressources mémoire. Les fichiers .so sont des fichiers de bibliothèque partagés (liés dynamiquement). Le code de fonction appelé par liaison dynamique n'est pas copié dans le fichier exécutable de l'application, mais seules les informations de description de la fonction appelée (souvent des informations de relocalisation) y sont ajoutées. Uniquement lorsque l'application est chargée Lorsque la mémoire commence à fonctionner, sous la gestion du système d'exploitation, une relation de lien est établie entre le programme d'application et le .so correspondant.

.un fichier est une combinaison de plusieurs fichiers .o. Le fichier .o est un fichier objet et son contenu est constitué d'instructions exécutables par machine telles que 01. Lorsque le programme doit être exécuté, il doit être lié. La liaison consiste à lier plusieurs fichiers .o dans un fichier exécutable. .

Développer les connaissances

.o est un objet, qui est équivalent au fichier obj compilé sous Windows, communément appelé fichier cible

.a est une archive, qui est équivalente au fichier lib compilé sous Windows VC. , communément appelé fichier de bibliothèque statique. Le fichier .

.o est un fichier de lien, .a est un fichier de bibliothèque statique, généré par le fichier .o. En tant que bibliothèque, il fournit des fonctions et des interfaces pour les programmes externes.

Générer un fichier .o :

gcc -c test.o test.c

Générer un fichier .a :

ar cqs test.a test.o

.o est équivalent au fichier obj dans Windows Un fichier .c ou .cpp correspond à un fichier .o

.a est plusieurs .o. Ensemble, ils sont utilisés pour la connexion statique, c'est-à-dire que plusieurs .a peuvent être liés pour générer un fichier exécutable exe

. Il s'agit donc d'un objet partagé, utilisé pour la connexion dynamique, similaire à la DLL Windows, et est chargé uniquement. lorsqu'il est utilisé

Apprentissage recommandé : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Qu'est-ce que dd sous LinuxArticle suivant:Qu'est-ce que dd sous Linux