Variable extern

enrageur Messages postés 54 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 21 novembre 2008 - 17 nov. 2008 à 17:57
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 - 21 nov. 2008 à 18:49
J'ai récupéré du code
Dans un point C j'ai une variable
char buffer[500];

dans un point CPP j'ai la variable déclaré en
extern char * buffer;

Dans le fichier CPP, je fais appel à des fonction du point C qui mette à jour buffer. Mais des que je veux faire une action sur buffer depuis le point CPP (lecture ou écriture), il y a plantage. Je ne vois pas pourquoi.
Dans le code que j'ai récupéré, c'est déja fait et sa marche trés bien.

Merci pour votre aide.

4 réponses

nanonavich Messages postés 54 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 15 août 2015
17 nov. 2008 à 19:08
char buffer[500];
ses pas Pareil!!!
extern char * buffer;

char buffer[500];
tu dois faire, ne pas changer la definition!
extern char buffer[500];

ou extern 'C' char buffer[500];
ou extern 'C+' char buffer[500];
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
18 nov. 2008 à 21:36
Salut,

Je ne suis pas sur que ton problème vienne de char *buffer ou cher buffer[500] dans ton extern. J'ai déja fait cela plusieurs fois. Je dirais plutôt que cela vient d'une erreur de décoration du au passage C/C++.

nanonavich te donnes la solution dans son post:: extern "C" char *buffer;

Normalement, cela devrait fonctionner.

--Vive le CSavon
0
enrageur Messages postés 54 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 21 novembre 2008
21 nov. 2008 à 14:54
Merci, mais je n'ai pas trouvé le post de nanonavich. Y aurait-il un lien.
Pour l'instant mon problème n'a pas avancé.
Merci d'avance
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
21 nov. 2008 à 18:49
Laisse ton .c comme il est.
Dans ton point cpp tu mets extern "C" char *buffer;

Normalement, ça devrait être bon si tes 2 fichiers font parti du même projet.

--Vive le CSavon
0
Rejoignez-nous