Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1906 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Commande préproc et inclusion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Commande préproc et inclusion

n°1148259
pgaranx
Posté le 12-07-2005 à 18:17:34  profilanswer
 

Petite question concernant des déclarations de variables:
 
je désire utiliser pour plusieurs fichiers c, un meme fichier de déclaration h, contenant les déclarations de ressources communes, j'écris donc dans mon fichier h
 
#ifndef INCLUSION
#define INCLUSION
 
int a;
...
 
#else
 
extern int a;
...
 
#endif
 
Je m'attends donc à obtenir la déclaration classique lors de la première inclusion, et des déclarations en extern pour les suivantes.
Il semblerait que ceci ne fct pas puisque j'obtiens une erreur au link sur de multiples déclarations de ma variable a. Il semble donc que mon #define INCLUSION n'est pas pris en compte.
Qu'en pensez vous ?

mood
Publicité
Posté le 12-07-2005 à 18:17:34  profilanswer
 

n°1148261
theShockWa​ve
I work at a firm named Koslow
Posté le 12-07-2005 à 18:20:59  profilanswer
 

on ne fait pas comme ca :)
 
on laisse toujours la déclaration dans le .h :

Code :
  1. extern int a;


 
et l'initialisation dans le fichier .c :
 

Code :
  1. int a;

n°1148304
Emmanuel D​elahaye
C is a sharp tool
Posté le 12-07-2005 à 19:02:07  profilanswer
 

pgaranx a écrit :

je désire utiliser pour plusieurs fichiers c, un meme fichier de déclaration h, contenant les déclarations de ressources communes, j'écris donc dans mon fichier h


#ifndef INCLUSION
#define INCLUSION
 
int a;
...
 
#else
 
extern int a;
...
 
#endif



Marche pas. Les headers doivent contenir la déclaration, et un seul.c doit contenir la définition.
 
http://mapage.noos.fr/emdel/notes.htm#definitions

Citation :

Qu'en pensez vous ?


Que tu n'as pas compris à quoi servait les protections contre les inclusions multiples.
 
Un peu de lecture :  
 
http://mapage.noos.fr/emdel/codage.htm


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Commande préproc et inclusion

 

Sujets relatifs
PHP/Postgresql fonctionne qu'en ligne de commande et pas via httpVBS Commande externe
[php/mysql] commande insert intocommande sql
commande BatchChanger la couleur de tous les boutons de commande d'un projet Access
Commande pour fermer excel ? VBAcommande shell sous Embedded VB
Commande à distance avec C++ Builder[access - VB] problème commande
Plus de sujets relatifs à : Commande préproc et inclusion


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)