Maison  >  Article  >  Tutoriel système  >  Analyse approfondie de la technologie de compilation conjointe de la bibliothèque de liens dynamiques de Centos

Analyse approfondie de la technologie de compilation conjointe de la bibliothèque de liens dynamiques de Centos

WBOY
WBOYavant
2024-01-10 13:26:391248parcourir

Qu'est-ce qu'une bibliothèque de liens dynamiques

Sous Windows, il s'agit d'une bibliothèque de liens dynamiques (DLL), suffixe ? xxx.dll

Bibliothèque partagée sous UNIX ou Linux Le suffixe est xxx.so

.

Compilez le fichier dans une bibliothèque de liens dynamiques au format .so

gcc -o libme.so wso.c -shared

Compilez wso.c dans libme.so et le nom de la bibliothèque est moi

lib le préfixe et le suffixe aussi

Compilation conjointe

gcc -L /root/myc/ -l me ws.c -o newws

-L Emplacement du dossier de la bibliothèque de liens dynamiques

-l Le nom de la bibliothèque de liens dynamiques (supprimez la première lib et .so pour obtenir le nom de la bibliothèque)

Ensuite, vous constaterez que la compilation a réussi, mais que l'opération échoue toujours

La raison de l'échec est que le système d'exploitation ne peut pas le trouver

En fait, Linux, comme Windows, possède un dossier de bibliothèque système similaire à system32. Diverses bibliothèques de classe publiques sont placées ici

CentOS possède deux dossiers qui stockent des bibliothèques publiques très similaires à Windows

/lib niveau noyau

/usr/lib niveau système utilisateur

/usr/lib64/ Uniquement disponible pour les systèmes 64 bits

Vous devez créer la bibliothèque que vous avez créée, peu importe si vous la mettez de manière aléatoire

Solution

Copiez le fichier SO que nous avons créé dans la bibliothèque publique (commande cp)

Ensuite, exécutez ldconfig (la bibliothèque dynamique est mise en cache. Si de nouveaux éléments sont ajoutés, le cache doit être à nouveau mis à jour)

Exécuter les nouvelles avec succès

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer