IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Dll statique ou dynamique


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Points : 174
    Points
    174
    Par défaut Dll statique ou dynamique
    Bonjour,
    Quelle est la différence entre une dll dynamique et une dll statique? (pas du coté code, mais coté notion)
    Merci d'avance

  2. #2
    Membre averti Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Points : 444
    Points
    444
    Par défaut
    Salut,

    A priori, une dll est forcément dynamique alors qu'un librarie est static. En d'autre mot, la dll va partager ses resources entre plusieurs executables et doit donc etre accessible. Alors que la librarie static va etre directement inclu dans l'executable, augmentant donc sa taille mais evitant d'avoir à fournir des fichiers externes.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    DLL signifiant Dynamic Link Library, il serait en effet curieux qu'elle soit statique.

    J'ajouterai à l'intervention de uriotcea (à qui je rappelle que la traduction de library n'est pas librairie) que les bibliothèques dynamiques ont une extension DLL, et les statiques une extension LIB.

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Il y a généralement 3 notions (les noms varient selon les OS et les personnes) :
    1 - Bibliothèque statique
    2 - Bibliothèque dynamique liées statiquement
    3 - Bibliothèque dynamique liée dynamiquement


    Sous windows, une DLL répons selon l'utilisation qu'on en fait à 2 ou 3. Pour 2, on utilise soit un fichier d'exports (.def, je crois), soit plus couramment un .lib statique spécial (nommée librairie d'import, tout petit puisque ne contenant pas vraiment de code) qui renvoie vers le .dll, et les .h exposés par le fabriquand de cette dernière.

    Dans le cas 2, on a donc dynamisme de la bibliothèque, mais vérification statique des appels faits vers cette bibliothèque (à condition qu'on link avec des .h et .lib correspondant à la version de la DLL qu'on va utiliser).

    Dans le cas 3, tout est dynamique, et on découvre au runtime si la bibliothèque contient ou pas telle fonction (LoadLibrary suivi de GetProcAddress).
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Il y a généralement 3 notions (les noms varient selon les OS et les personnes) :
    1 - Bibliothèque statique
    2 - Bibliothèque dynamique liées statiquement
    3 - Bibliothèque dynamique liée dynamiquement
    Merci
    C plus au moins clair maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/08/2005, 16h02
  2. Réponses: 13
    Dernier message: 20/06/2005, 14h13
  3. Réponses: 12
    Dernier message: 26/04/2004, 08h32
  4. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20
  5. Dll a chargement dynamique
    Par delire8 dans le forum C++Builder
    Réponses: 7
    Dernier message: 05/06/2003, 22h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo