En d'autres termes
liaison tardive
Définition
Comparer avec early binding. Voir liaison tardive.
liaison tardive
Comparer avec early binding. Voir liaison tardive.
liaison précoce
Comparer avec late binding. Voir liaison précoce.
Programme agrégeant un ensemble de fichiers objet produits par un compilateur ou un assembleur en un programme exécutable, en assurant la liaison statique des symboles contenus dans ces fichiers. Cette opération est dite liaison.
Le terme anglais est linker.
Etablissement de la correspondance entre les symboles d'un programme source et les adresses correspondantes dans l'exécutable.
La liaison peut être faite lors de la production du fichier exécutable (liaison statique / liaison précoce) ou au moment de l'invocation du symbole à l'exécution (liaison tardive).
Le programme en charge de l'établissement des liaisons statique s'appelle linker ou éditeur de liens en français.
La distinction entre liaison statique et liaison précoce tient à la nature des fichiers produits : la liaison précoce se limite au contrôle et à la résolution des symboles, qui peuvent être invoqués à l'exécution depuis une module chargé dynamiquement ou un objet serveur, alors que le terme de liaison statique recouvre en complément la production d'un exécutable autonome, ne nécessitant aucun module complémentaire pour fonctionner.
Enfer des DLL
Problème survenant au fil des installations, mises à jour, et désinstallations de produit d'éditeurs multiples manipulant des DLLs communes, ce qui aboutit à la mise en place de versions incompatibles, de sorte qu'il n'est pas rare que l'installation d'une application ou sa mise à jour cause la perte de fonctionnement d'une autre application, notamment d'un autre éditeur.
Bien que le terme DLL soit caractéristique de l'environnement Microsoft Windows, le même problème existe pour tout type de module à chargement dynamique sous les autres systèmes d'exploitation.
Dans le cas particulier de Windows, à partir de Windows/2000, Microsoft a introduit le modèle de programmation "side by side" (SxS) permettant d'éliminer ce problème par la cohabitation des versions.
Side by Side
Capacité d'une DLL à être présente et active dans plusieurs versions simultanées sur le même poste.
Ce mécanisme introduit dans Microsoft Windows/2000 et généralisé dans Windows/XP vise à réduire le problème des versions incompatibles de DLLs apparaissant au fil des installations, désinstallations et mises à jour d'applications. Voir DLL Hell.
Dynamically Loaded Library
Code partagé, chargé à l'exécution par une application.
Ce chargement dynamique permet le partage de code entre applications pour des services à usage général, et les mises à jour séparées. Le suivi de l'évolution des DLLs au fil des installations et mises à jour donne malheureusement lieu au DLL Hell. Voir SxS, thunking.
Propriété présentée par un algorithme de tri qui respect l'ordre initial des données soumises au tri et qui ne nécessitent pas réarrangement selon la clef de tri. Exemple:
Clef | Autre donnée |
---|---|
2 | deuxième choix |
3 | troisième choix |
1 | premier choix |
2 | autre deuxième choix |
Une fois les données triées par un tri stable sur la colonne "clef", le résultat DOIT être
Clef | Autre donnée |
---|---|
1 | premier choix |
2 | deuxième choix |
2 | autre deuxième choix |
3 | troisième choix |
Alors qu'un algorithme de tri instable sur la même clef pourrait donner indifféremment le résultat précédent ou le suivant:
Clef | Autre donnée |
---|---|
1 | premier choix |
2 | autre deuxième choix |
2 | deuxième choix |
3 | troisième choix |
En particulier, tout algorithme de tri intégral est instable pour toute clef autre qu'une clef composée de l'ensemble des colonnes triées.
Blue Screen Of Death