Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
821 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Libraries statiques et dynamiques

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Libraries statiques et dynamiques

n°1532283
in_your_ph​ion
Posté le 22-03-2007 à 16:41:21  profilanswer
 

bonjour,

 


j'ai une question sur les libraries statiques et dynamiques. Pourquoi quand on réinstalle une programme on utilise des libraries statiques, -lquelquechose, et pourquoi on est aussi obligé de charger les librairies dynamiques dans le .cshrc (ou autre) ...pourquoi faire les deux ??? Par exemple moi j'ai réinstallé GSL, je compile un truc qui compile avec la nouvelle librarie. Et quand j'execute il me met un "system lookup error". Quand je réindiques les libraries dans le .cshrc, ca marche...quelqu'un pourrait-il m'eclairer ?

 


merci par avance


Message édité par in_your_phion le 22-03-2007 à 16:44:25
mood
Publicité
Posté le 22-03-2007 à 16:41:21  profilanswer
 

n°1532292
_darkalt3_
Proctopathe
Posté le 22-03-2007 à 16:49:59  profilanswer
 

c'est du linux ?


---------------
Töp of the plöp
n°1532315
Elmoricq
Modérateur
Posté le 22-03-2007 à 17:04:00  profilanswer
 

Bon déjà, parce qu'il s'agit d'une erreur qui m'insupporte :
 
Anglais => Français
Library => Bibliothèque
Bookshop => Librairie
 
Maintenant que ça c'est fait, j'imagine que lorsque tu dis "réindiquer" machin, tu parles de la variable d'environnement LD_LIBRARY_PATH.
Eh bien oui : lorsque tu utilises des bibliothèques dynamiques, tu dois indiquer où elles se trouvent. Le système c'est pas madame Irma, si tu ne le lui dit pas, il ne va pas le deviner (il pourrait mais ça serait très pourri).
 
Sous Windows c'est pareil : si tes DLL ne sont pas dans les bons répertoires (celui du binaire, ceux du système ou dans un endroit indiqué dans le code), jamais ton programme ne les trouvera.
 
Ensuite, l'intérêt d'utiliser une bibliothèque dynamique est évident : je développe une bibliothèque qui est utilisée par 10 programmes.
Je découvre un bug : je corrige la bibliothèque, je la compile, et je remplace l'ancien fichier par le nouveau => mes dix programmes voient le bug corrigé, en même temps.

n°1532317
_darkalt3_
Proctopathe
Posté le 22-03-2007 à 17:09:10  profilanswer
 

et à vue de nez, -lTaLib c'est de la compilation, pas de l'installation.


---------------
Töp of the plöp
n°1532572
in_your_ph​ion
Posté le 23-03-2007 à 10:39:00  profilanswer
 

d'accord merci pour ta réponse sur les librairies bibliothèques. Cela dit une librairie de fonctions je vois pas l'abus de langage
définition du dico :

 

LIBRAIRIE, subst. fém.
A. HIST. ou littér. Bibliothèque; lieu où elle se trouve; collection de livres.

 

(en outre dans le dictionnaire des synonymes les deux définitions pointent chacune vers l'autre.)

 

enfin ....

 


Citation :


Maintenant que ça c'est fait, j'imagine que lorsque tu dis "réindiquer" machin, tu parles de la variable d'environnement LD_LIBRARY_PATH.

 

oui c'est ça

 
Citation :


Ensuite, l'intérêt d'utiliser une bibliothèque dynamique est évident : je développe une bibliothèque qui est utilisée par 10 programmes.
Je découvre un bug : je corrige la bibliothèque, je la compile, et je remplace l'ancien fichier par le nouveau => mes dix programmes voient le bug corrigé, en même temps.

 

ok, ce que je ne comprend pas c'est pourquoi j'ai besoin d'avoir les deux ? Ma bib GSL quand j'écris un programme je dis où sont les .h et la bibliothèque statique, mais je dois aussi préciser où se trouve les bibliothèques dynamiques dans le .cshrc et la variable LD_LIBRARY_PATH. Pourquoi les deux et pas tout dans l'un (que des bibliothèques statiques) ou dans l'autre (que des bibliothèques dynamiques) alors ?

 

merci

 

Message cité 2 fois
Message édité par in_your_phion le 23-03-2007 à 12:48:15
n°1532793
Emmanuel D​elahaye
C is a sharp tool
Posté le 23-03-2007 à 14:19:41  profilanswer
 

in_your_phion a écrit :

d'accord merci pour ta réponse sur les librairies bibliothèques. Cela dit une librairie de fonctions je vois pas l'abus de langage
définition du dico :

 

LIBRAIRIE, subst. fém.
A. HIST. ou littér. Bibliothèque; lieu où elle se trouve; collection de livres.

 

(en outre dans le dictionnaire des synonymes les deux définitions pointent chacune vers l'autre.)

 


 

Dictionnaire de l'Académie (8ème édition)

 

BIBLIOTHÈQUE.  n. f. Lieu où l'on tient un grand nombre de livres rangés en ordre.<...>

 

LIBRAIRIE.  n. f. <...>

 

Il se dit aussi d'une Maison où l'on fait le commerce des livres, d'un magasin, d'une boutique où l'on vend des livres. <...>

 

Il signifiait autrefois Bibliothèque. La librairie du roi. La librairie de Montaigne. Cette acception s'est conservée longtemps dans les actes publics.

 

Donc, attention à ne pas raconter de bêtises... La confusion librairie/bibliothèque est du français ancien. Il n'a pas à être faite de nos jours par méconnaissance du franglais....

 


Message édité par Emmanuel Delahaye le 23-03-2007 à 14:20:49

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1532801
Emmanuel D​elahaye
C is a sharp tool
Posté le 23-03-2007 à 14:24:54  profilanswer
 

in_your_phion a écrit :

ok, ce que je ne comprend pas c'est pourquoi j'ai besoin d'avoir les deux ? Ma bib GSL quand j'écris un programme je dis où sont les .h et la bibliothèque statique, mais je dois aussi préciser où se trouve les bibliothèques dynamiques dans le .cshrc et la variable LD_LIBRARY_PATH. Pourquoi les deux et pas tout dans l'un (que des bibliothèques statiques) ou dans l'autre (que des bibliothèques dynamiques) alors ?


Il est extrêmement courant que l'usage d'une bibliothèque dynamique soit simplifié par un petite (vérifier la taille) bibliothèque statique qui réalise des opérations élémentaires comme :

 

- charger la bibliothèque dynamique
- mettre à jour les pointeurs de fonctions de la DLL
- appeler les fonctions de la DLL via une surcouche en C
- fournir une interface C aux applications

 

exemple :

 

http://delahaye.emmanuel.free.fr/clib/pio/

Message cité 1 fois
Message édité par Emmanuel Delahaye le 23-03-2007 à 14:25:22

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1532811
MagicBuzz
Posté le 23-03-2007 à 14:38:44  profilanswer
 

Elmoricq a écrit :

Ensuite, l'intérêt d'utiliser une bibliothèque dynamique est évident : je développe une bibliothèque qui est utilisée par 10 programmes.
Je découvre un bug : je corrige la bibliothèque, je la compile, et je remplace l'ancien fichier par le nouveau => mes dix programmes voient le bug corrigé, en même temps.


Le revers de la médaille, c'est que des fois, tu corriges un des programme et tu fais planter les 9 autres qui se complaisaient avec le bug ;)

n°1532897
in_your_ph​ion
Posté le 23-03-2007 à 16:05:19  profilanswer
 

Emmanuel Delahaye a écrit :

Il est extrêmement courant que l'usage d'une bibliothèque dynamique soit simplifié par un petite (vérifier la taille) bibliothèque statique qui réalise des opérations élémentaires comme :

 

- charger la bibliothèque dynamique
- mettre à jour les pointeurs de fonctions de la DLL
- appeler les fonctions de la DLL via une surcouche en C
- fournir une interface C aux applications

 

exemple :

 

http://delahaye.emmanuel.free.fr/clib/pio/

 

merci pour ta réponse. Dans mon cas ce n'est pas une petite bibliothèque statique, c'est ce que je ne comprend pas. C'est une bibliothèque de maths, GSL, et toutes les fonctions sont inclues dans la bibliothèque statique. D'ailleurs je ne comprend pas a quoi sert la librarie dynamique (dans ce cas précis) ...  :sweat:

 

sinon pour librairie/bibliothèque, moui, enfin c'est pinailler pour peu de choses au final je trouve car le C c'est tout en anglais de  toute façon ... enfin apparement on avait compris que je voulais dire bibliothèque, ca ne prête pas à confusion c'est l'essentiel  :ange:


Message édité par in_your_phion le 23-03-2007 à 16:08:05

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Libraries statiques et dynamiques

 

Sujets relatifs
[résolu] Variables dynamiques dans des classes[C++] STL - list : doit contenir uniquement des objets dynamiques ??
Variables Dynamiques & Fonction[Résolu][C#] Générer un PDF avec des images Dynamiques (ASP.Net 1.1)
Gestion des classes statiques par la JVM[Résolu][Javascript] Boutons graphiques dynamiques
Alternative aux frames sans langages dynamiques ?[RESOLU] Définir onmouseover dans options dynamiques
free() sur tableau dynamiques à 4 dimensions 
Plus de sujets relatifs à : Libraries statiques et dynamiques


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR