Probleme Variable extern [Résolu]

Signaler
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008
-
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009
-
Salut à tous,
J'ai un fichier.c et j'ai declarer une variable au debut du code en extern double 
Et a la compilation il sort des erreurs comme si je n'avais pas declaré la variable du genre

  [Linker error] undefined reference to `n'

Et quand j'enleve l'attribut extern sa compile impec. Voila c'est pas grand chose mais comment je peux  garder le extern

3 réponses

Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009

Bonjour,

Le extern est là pour dire au compilateur : "Dans ce fichier, tu vas rencontrer l'utilisation d'une variable double n mais tu ne vas pas rencontrer la déclaration de cette variable ! c'est normal, c'est pas une erreur ! Cette variable a été déclarée dans un autre fichier et l'éditeur de liens saura retrouver son adresse et la placer dans le code de ce fichier."

Dans votre projet il faut que cette variable soit déclarée "pour de vrai" dans l'un des fichiers et être mis en extern dans ceux qui en ont besoin. C'est pour ça que ça marche quand vous supprimez extern, ça devient une vraie déclaration et non plus une simple information.

Jean-François
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008

Merci pour votre reponse claire, precise et en plus qui parle à un compilateur !
A+
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009

Il est bien bavard lui-même parfois !!! (souvent ???)
Alors on peut bien lui parler de temps en temps.

Quoiqu'ici c'est le linker qui est bavard. C'est lui qui ne trouve pas n, le compilateur a fait ce qu'on lui a demandé.

Jean-François