Inclure un fichier d'en tete sous dev

Résolu
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 - 30 avril 2008 à 16:55
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 - 30 avril 2008 à 18:28
Bonjour j'utilise depuis peut dev c++, et je voudrai savoir comment faire pour inclure un fichier (main.h)  j'utilisai  borland qui me machai à moitié le travail, j'ai donc quelque difficulté ici.

Voici un exemple de déclaration que je fait sous borland:
#ifndef Unit7H
#define Unit7H
.
.
.
#endif

Le problème c'est que j'ai simplement modifié les include préécrit par le compilo,sans trop comprendre ce que represente Unti7H.
Sous dev la même syntaxe ne marche apparement pas:

#define MAIN__H "main.h"
#ifndef MAIN__H
#define MAIN__H

#define ID_BUTON1 100
.
.
.
#endif

Car dans mon main.cppID_BUTTON1 n'est pas reconnu!
Quelqu'un peut il m'expliquer
Merci

2 réponses

cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
30 avril 2008 à 17:36
Bonjour,

Le Unti7H ne représente rien de particulier. Le principe est d'encadrer un fichier d'entête par :

#ifndef XXX  <-- Si XXX n'est pas défini
#define XXX  <-- on définit XXX et on continue la lecture du fichier.
                 A la prochaine inclusion XXX est défini
                 et on ne continue pas la lecture du fichier.

... contenu du fichier

#endif // XXX  <-- XXX rappelé en commentaire pour suivre !

où XXX est n'importe quoi mais unique dans l'ensemble des fichiers d'entêtes utilisés d'où l'habitude de reprendre le nom du fichier (unique) en majuscule (c'est l'habitude avec les constantes définies avec #define) avec quelques _ autour et à la place du point ! Exemple

#ifndef __DATE_H__
#define __DATE_H__
... contenu du fichier
#endif // __DATE_H__

La syntaxe suivante ne marche pas du tout puisque la 1ère ligne définit la constante MAIN__H en permanence donc l'inclusion qui suit ne se fait jamais et donc ID_BUTON1 n'est jamais connu !

#define MAIN__H "main.h"
#ifndef MAIN__H
#define MAIN__H

#define ID_BUTON1 100
...
#endif

Jean-François
3
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 2
30 avril 2008 à 18:28
C'etait en fait tout simple ne m'etant jamais penché sur ce que pouvais représenté Unit7H, je pensai que c'etait un constante que borland m'incluait quelque part pour désigner le nom de mon fichier a inclure.
Parfait et merci pour l'explication
0
Rejoignez-nous