Comment un compilateur détecte-t-il la définition en double dans l'unité de traduction? Supposons qu'il existe une déclaration de variable const externe dans un fichier d'en-tête.
Si ce fichier d'en-tête était utilisé dans plus d'une unité de traduction - chacun ayant une définition distincte - chaque création d'objet TU serait réussie, mais lorsque l'exécutable final est créé, l'erreur est levée.
Comment le compilateur détecte-t-il la définition en double dans les unités de traduction?
Existe-t-il une table de référence créée pour comptabiliser ces doublons lors de la liaison de chacune de ces TU (lors de la création de l'exécutable)?
Tout lien sur ce sujet pourrait vous être utile.
Merci d'avance pour votre explication.