Article de reference

Construction statique

Une build statique est une version compilée d'un programme qui a été liée statiquement à des bibliothèques. Enchaînement En informatique , la liaison consiste à prendre un ou pl...

Une build statique est une version compilée d'un programme qui a été liée statiquement à des bibliothèques.

Enchaînement

En informatique , la liaison consiste à prendre un ou plusieurs objets générés par des compilateurs et à les assembler en un seul programme exécutable . Les objets sont des modules de programme contenant du code machine et des définitions de symboles , qui se déclinent en deux variétés :

  • Les symboles définis ou exportés sont des fonctions ou des variables présentes dans le module représenté par l'objet et qui doivent être disponibles pour être utilisées par d'autres modules.
  • Les symboles non définis ou importés sont des fonctions ou des variables appelées ou référencées par cet objet, mais non définies en interne.

Un programme de liaison résout ensuite les références à des symboles non définis en recherchant quel autre objet définit un symbole en question et en remplaçant les espaces réservés par l'adresse du symbole. Les programmes de liaison peuvent prendre des objets d'une collection appelée bibliothèque . Le programme final n'inclut pas la bibliothèque entière, mais uniquement les objets nécessaires. Il existe des bibliothèques à des fins diverses et une ou plusieurs bibliothèques système sont généralement liées par défaut.

Liens dynamiques

Les environnements de systèmes d'exploitation modernes permettent la liaison dynamique , c'est-à-dire le report de la résolution de certains symboles non définis jusqu'à l'exécution d'un programme. Cela signifie que l'exécutable contient toujours des symboles non définis, ainsi qu'une liste d'objets ou de bibliothèques qui fourniront des définitions pour ceux-ci. Le chargement du programme chargera également ces objets/bibliothèques et effectuera une liaison finale.

La liaison dynamique offre trois avantages :

  • Les bibliothèques fréquemment utilisées (par exemple la bibliothèque système standard ) doivent être stockées dans un seul emplacement et non dupliquées dans chaque binaire.
  • Si une bibliothèque est mise à niveau ou remplacée, tous les programmes l'utilisant de manière dynamique bénéficieront immédiatement des corrections. Les builds statiques devront d'abord être reliées.
  • La taille du fichier exécutable binaire est plus petite que celle de son homologue lié statiquement.

Bâtiment statique

Dans un programme construit de manière statique , aucune liaison dynamique ne se produit : toutes les liaisons ont été effectuées au moment de la compilation .

Les builds statiques ont un comportement très prévisible (car elles ne dépendent pas de la version particulière des bibliothèques disponibles sur le système final) et sont couramment utilisées dans les outils d'analyse et de sécurité pour éviter une éventuelle contamination ou un dysfonctionnement dû à des bibliothèques défectueuses sur la machine examinée. La même flexibilité qui permet à une bibliothèque mise à niveau de bénéficier à toutes les applications liées dynamiquement peut également empêcher les applications qui supposent la présence d'une version spécifique d'une bibliothèque particulière de s'exécuter correctement. Si chaque application d'un système doit avoir sa propre copie d'une bibliothèque dynamique pour garantir un fonctionnement correct, les avantages de la liaison dynamique sont discutables.

Un autre avantage des builds statiques est leur portabilité : une fois le fichier exécutable final compilé, il n'est plus nécessaire de conserver les fichiers de bibliothèque auxquels le programme fait référence, puisque toutes les parties pertinentes sont copiées dans le fichier exécutable. Par conséquent, lors de l'installation d'un programme construit de manière statique sur un ordinateur, l'utilisateur n'a pas besoin de télécharger et d'installer des bibliothèques supplémentaires : le programme est prêt à être exécuté.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index