Assembleur et éditeur de liens
H3178 v1 Archive

Assembleur et éditeur de liens

Auteur(s) : Bertrand DUPOUY

Date de publication : 10 mai 2002

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

1 - Langage d’assemblage

  • 1.1 - Présentation
  • 1.2 - Phases de l’assemblage
  • 1.3 - Exemple d’assemblage
  • 1.4 - Quand programmer en assembleur

2 - Édition de liens

3 - Exécution et mise au point

4 - Techniques d’optimisation

  • 4.1 - Lazy linking
  • 4.2 - Développement pour systèmes embarqués
  • 4.3 - Machines virtuelles (byte code )
  • 4.4 - Exécution d’un programme Java
  • 4.5 - Quelques instructions de la JVM

Sommaire

Présentation

Auteur(s)

  • Bertrand DUPOUY : Enseignant chercheur, ingénieur d’études au département informatique et réseaux,École nationale supérieure des télécommunications (ENST) , Paris

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

Rappelons les différentes phases de la chaîne de développement d’un programme :

  • écriture, à l’aide d’un éditeur, d’un ou plusieurs fichiers sources qui sont rangés sur disque par cet éditeur ;

  • appel à l’assembleur, ou au compilateur, qui va traduire la représentation symbolique des instructions en représentation binaire et associer des adresses aux noms de variables. Le fichier dépositaire de ces informations s’appelle fichier objet, il contient des modules objets ;

  • utilisation de l’éditeur de liens (« linker ») qui prend en entrée un ou plusieurs modules objets pour créer un fichier binaire exécutable. Ce fichier exécutable, comme les fichiers sources et les fichiers objets est automatiquement rangé sur le disque.

Dans le cas des fichiers exécutables et objets, on parle de fichiers binaires pour insister sur le fait qu’ils contiennent des instructions et des données représentées suivant un codage compréhensible par le processeur de la machine. Les fichiers sources, par contre, sont lisibles par l’utilisateur, mais incompréhensibles pour le processeur : ce sont des suites de caractères codés ASCII.

Les fichiers objets peuvent être regroupés dans des fichiers appelés bibliothèques (« libraries »). Quand ces bibliothèques contiennent des objets d’intérêt général, comme les fonctions mathématiques ou les fonctions graphiques, on parle de bibliothèque « système ».

La figure 1 illustre cette construction d’un fichier exécutable à partir de plusieurs fichiers sources.

Pour exécuter un fichier exécutable, on le charge en mémoire. Cela est généralement fait en saisissant au clavier le nom de ce fichier exécutable. Il est alors chargé depuis le disque vers la mémoire par le module du système d’exploitation appelé « loader » ou chargeur.

Le tableau 1 donne les commandes de compilation et d’édition de liens sous Linux en utilisant .

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h3178

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - AHO (A), SETHI (R), ULLMAN (J) -   Compilateurs. Principes, techniques et outils.  -  InterÉditions, Paris (1991).

  • (2) - BLANCHET (G.), DUPOUY (B.) -   Architecture des ordinateurs.  -  Masson, Paris (1992).

  • (3) - LEVINE (J.R.) -   Linkers and loaders.  -  Morgan Kaufmann, San Francisco (2000).

  • (4) - TANNENBAUM (A.) -   Architecture de l’ordinateur.  -  InterÉditions, Paris (1991).

  • (5) - Computer research group, UC Berkeley -   4.4 BSD User’s reference manual.  -  O’Reilly (1994).

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre