C++ : comment le linker fait-il ?
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

C++ : comment le linker fait-il ?



  1. #1
    invited9162c0f

    C++ : comment le linker fait-il ?


    ------

    Bonjour a tous, et merci de me consacrer un peu de votre temps,

    En train d'apprendre le C++, une question me venait à l'esprit et j'avoue être bloqué : une fois la compilation réalisée, comment l'éditeur de lien ("linker") fait-t'il pour ordonner tous les fichiers compilés afin d'en faire un exécutable ?

    Je m'imagine pour l'instant qu'il lit la fonction main(), de haut en bas, puis que lorsque qu'il tombe sur un appel de fonction, il va la chercher... seulement comment sait-il où aller chercher une fonction appelée ? Elle pourrait être dans n'importe lequel des fichiers compilés, voir dans une bibliothèque de l'IDE qui est utilisée...Fait-il le tour de tous les fichiers, où a-t'il une organisation pour localiser les fonctions ?

    Merci de votre aide

    -----

  2. #2
    invited1c1a33e

    Re : C++ : comment le linker fait-il ?

    Bonjour, chaque compilateur a sa stratégie et fait une ou plusieurs passes.

    Le principe général d'un éditeur de liens consiste à recenser les fonctions/données non reconnues dans une table des symboles et de les résoudre en "regardant" dans les autres fichiers/bibilothèques.

    http://fr.wikipedia.org/wiki/Édition_de_liens

    Dans le cas du C++ ça peut passer par des transformations du code, comme renommer les méthodes en fonction de leur valeur de retour et de leurs paramètres. Cela s'appelle le "name mangling" en anglais.

    http://en.wikipedia.org/wiki/Name_mangling

Discussions similaires

  1. Un programme qui fait rien...on fait comment?
    Par invite4c324090 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 07/04/2009, 21h13
  2. fabriquer linker ds
    Par invite1c74a620 dans le forum Électronique
    Réponses: 1
    Dernier message: 28/02/2009, 08h46
  3. Linker ?
    Par invite0e2c1f0c dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 04/11/2008, 00h51
  4. mikrobasic + linker error
    Par invite3c59dc04 dans le forum Électronique
    Réponses: 0
    Dernier message: 08/05/2008, 13h05
  5. Bloqué avec le Linker
    Par invite7e3a8d7d dans le forum Électronique
    Réponses: 3
    Dernier message: 14/06/2006, 14h50