MinGW - compilation statique ou dynamique
Résolu
nikoladu49
Messages postés
228
Date d'inscription
Statut
Membre
Dernière intervention
-
nikoladu49 Messages postés 228 Date d'inscription Statut Membre Dernière intervention -
nikoladu49 Messages postés 228 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'utilise le compilateur MinGW, et j'ai le choix entre compiler en dynamique (besoin de *.dll) ou en statique (pas besoin de *.dll). Je sais comment faire pour compiler avec ses deux "modes" là, mais j'aimerais en savoir plus sur chacun d'eux.
Quels sont donc les avantages et inconvénients à utiliser la compilation statique ou dynamique ?
Merci d'avance.
PS : je ne debug jamais. Je faire toujours du release.
Quels sont donc les avantages et inconvénients à utiliser la compilation statique ou dynamique ?
Merci d'avance.
PS : je ne debug jamais. Je faire toujours du release.
A voir également:
- MinGW - compilation statique ou dynamique
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Liste déroulante dynamique excel - Guide
- Sommaire dynamique word - Guide
- Liste déroulante dynamique en cascade excel - Guide
3 réponses
Bibliothèque statique:
- incorpore la bibliothèque -> donc inutilité qu'elle soit déjà installée,
- incorpore la bibliothèque -> donc exécutable plus volumineux,
Bibliothèque partagée:
- n'incorpore pas la bibliothèque -> donc nécessité qu'elle soit installée,
- n'incorpore pas la bibliothèque -> donc exécutable réduit au minimum,
- la bibliothèque est partagée -> elle peut être utilisée par plusieurs applications -> moins d'espace mémoire utilisé.
- la bibliothèque est partagée -> attention à l'utilisation des variables globales et à la réentrance des fonctions,
- la bibliothèque est installée -> elle peut donc être mise à jour sans avoir besoin de recompiler toutes les applications qui font appel à elle.
Bonne continuation.
- incorpore la bibliothèque -> donc inutilité qu'elle soit déjà installée,
- incorpore la bibliothèque -> donc exécutable plus volumineux,
Bibliothèque partagée:
- n'incorpore pas la bibliothèque -> donc nécessité qu'elle soit installée,
- n'incorpore pas la bibliothèque -> donc exécutable réduit au minimum,
- la bibliothèque est partagée -> elle peut être utilisée par plusieurs applications -> moins d'espace mémoire utilisé.
- la bibliothèque est partagée -> attention à l'utilisation des variables globales et à la réentrance des fonctions,
- la bibliothèque est installée -> elle peut donc être mise à jour sans avoir besoin de recompiler toutes les applications qui font appel à elle.
Bonne continuation.
Je te remercie pour l'explication :)
Et que me conseilleriez-vous pour un programme en console ?
Je ne sais pas trop quel méthode choisir.
Et que me conseilleriez-vous pour un programme en console ?
Je ne sais pas trop quel méthode choisir.
ça dépend des bibliothèques utilisés, de leur universalité, de leur volume. C'est la raison qui décide, en fonction des avantages et inconvénients cités par loupious.
Une bibliothèque volumineuse et installé sur toutes les machines a intéret à être en dynamique. Une bibliothèque plus petite que l'éxecutable et spécifique (ou "maison") à tout intéret à être lié au programme.
Une bibliothèque petite est universelle : peu importe
une bibliothèque volumineuse et "rare" : le problème est plus épineux et dépendra d'autres facteur (comme la mise à disposition du programme)
Le fait que le programme soit en mode console ne présuppose rien de sa complexité et de sa taille, ni des bibliothèques qu'il utilise.
Il faut jugé au cas par cas.
Une bibliothèque volumineuse et installé sur toutes les machines a intéret à être en dynamique. Une bibliothèque plus petite que l'éxecutable et spécifique (ou "maison") à tout intéret à être lié au programme.
Une bibliothèque petite est universelle : peu importe
une bibliothèque volumineuse et "rare" : le problème est plus épineux et dépendra d'autres facteur (comme la mise à disposition du programme)
Le fait que le programme soit en mode console ne présuppose rien de sa complexité et de sa taille, ni des bibliothèques qu'il utilise.
Il faut jugé au cas par cas.