Choix des symboles à l'edition des liens.
Fermé
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
-
11 mars 2013 à 15:32
Utilisateur anonyme - 12 mars 2013 à 08:50
Utilisateur anonyme - 12 mars 2013 à 08:50
A voir également:
- Choix des symboles à l'edition des liens.
- Créer un lien pour partager des photos - Guide
- Liste déroulante de choix excel - Guide
- Caractères spéciaux symboles clavier - Guide
- Everest home edition - Télécharger - Informations & Diagnostic
- Macrium reflect 7 free edition - Télécharger - Sauvegarde
5 réponses
Utilisateur anonyme
11 mars 2013 à 15:58
11 mars 2013 à 15:58
salut,
Sans rentrer dans les détails car je ne peux pas tester, mais je trouve etrange que tu n'ai pas de surcharge (tu déclare la même méthode avec les mêmes paramètres sans rien indiquer d'autre)
as-tu fais exprès de ne pas utiliser de #define et #ifndef ?
Sans rentrer dans les détails car je ne peux pas tester, mais je trouve etrange que tu n'ai pas de surcharge (tu déclare la même méthode avec les mêmes paramètres sans rien indiquer d'autre)
as-tu fais exprès de ne pas utiliser de #define et #ifndef ?
Utilisateur anonyme
11 mars 2013 à 16:03
11 mars 2013 à 16:03
Bonjour
À l'intérieur d'une bibliothèque, il y a encore la trace des fichiers sources d'où viennent les définitions. L'éditeur de lien prend tout ou rien d'un fichier compilé. Ça explique très bien le comportement que tu observes.
Tu aurais dû créer ta bibliothèque à partir de fct.o et de construction.o. Dans ce cas, les deux définitions provenant de deux compilation différentes, seraient bien indépendantes, et l'éditeur de lien ne prendrait que celle dont il a besoin.
À l'intérieur d'une bibliothèque, il y a encore la trace des fichiers sources d'où viennent les définitions. L'éditeur de lien prend tout ou rien d'un fichier compilé. Ça explique très bien le comportement que tu observes.
Tu aurais dû créer ta bibliothèque à partir de fct.o et de construction.o. Dans ce cas, les deux définitions provenant de deux compilation différentes, seraient bien indépendantes, et l'éditeur de lien ne prendrait que celle dont il a besoin.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 mars 2013 à 16:11
11 mars 2013 à 16:11
merci de ta réponse le père, ça confirme mes craintes...
Ce bout de code n'est qu'un démonstrateur, mon vrai problème concerne un programme de plusieurs centaines de fichiers sur lequel je fais des patch.
L'éditeur de lien prend tout ou rien d'un fichier compilé., ok, c'est ce à quoi j'étais arrivé aussi comme conclusion, mais aurais tu une doc qui explique ces choix du compilateur (de l'éditeur des liens précisément) ? Car j'ai un autre vrai problème, où le .o est ignoré au profit du .a, mais je n'arrive pas faire de démonstrateur.
Merci.
Ce bout de code n'est qu'un démonstrateur, mon vrai problème concerne un programme de plusieurs centaines de fichiers sur lequel je fais des patch.
L'éditeur de lien prend tout ou rien d'un fichier compilé., ok, c'est ce à quoi j'étais arrivé aussi comme conclusion, mais aurais tu une doc qui explique ces choix du compilateur (de l'éditeur des liens précisément) ? Car j'ai un autre vrai problème, où le .o est ignoré au profit du .a, mais je n'arrive pas faire de démonstrateur.
Merci.
Utilisateur anonyme
11 mars 2013 à 16:22
11 mars 2013 à 16:22
Je n'ai pas de doc, seulement des connaissances qui ne sont pas vraiment de la dernière fraîcheur ;)
Mais en principe, l'éditeur de liens cherche à résoudre tous les symboles en premier lieu dans les fichiers objet qui lui sont soumis, puis dans les bibliothèques.
Je veux bien croire qu'il existe des cas tordus où les choses ne sont pas si simples (par exemple : un symbole est défini dans un fichier objet ET en bibliothèque, mais n'est appelé que depuis la bibliothèque : lequel est pris ???)
Mais en principe, l'éditeur de liens cherche à résoudre tous les symboles en premier lieu dans les fichiers objet qui lui sont soumis, puis dans les bibliothèques.
Je veux bien croire qu'il existe des cas tordus où les choses ne sont pas si simples (par exemple : un symbole est défini dans un fichier objet ET en bibliothèque, mais n'est appelé que depuis la bibliothèque : lequel est pris ???)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 mars 2013 à 21:15
11 mars 2013 à 21:15
nagashima, tu n'as pas compris de quoi nous parlions. Le problème vient de l'édition des liens, c'est à dire bien après une quelconque inclusion.
En plus, les chiens de garde sont mis dans iostream, pas besoin d'en rajouter. Mais merci de ton aide ;-)
En plus, les chiens de garde sont mis dans iostream, pas besoin d'en rajouter. Mais merci de ton aide ;-)