begin process at 2012 05 29 05:31:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Explication sur les .h et .cpp


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Explication sur les .h et .cpp

dimanche 8 mai 2005 à 15:18:45 | Explication sur les .h et .cpp

juju0169

   Bonjour a tous!

J'ai encore un ptit  probleme. Voila je m'explique.

J'ai creer un project avec :
      Fichier_principal.cpp, 
      Fichier_secondaire1.cpp, 
      Fichier_secondaire2.cpp

et un fichier.h (ou je mets toutes les declarations des fonctions qu'elles soient pour le  Fichier_principal.cpp,  ou les deux autres).

Juste qu'a aujourd'hui je mettais en haut des 3 .cpp #include "fichier.h"

et ca marche mais mon probleme c'est qu'alors visual me dis que tous ce qui se trouve dans le .h a deja été defini 
 (warning LNK4006: int XXXX already defined ) et donc j'ai plein de warning.

je comprends bien que de mettre plusieur fois #include "fichier.h"
visual se retrouve 3 fois avec les memes declarations.

Alors une idee
dimanche 8 mai 2005 à 16:24:30 | Explication sur les .h et .cpp avec extern

AlphaLyrae

Il faut utiliser "extern" :
Tu déclares ta variable comme ca dans fichier.h :
extern int prout;
pour dire que c'est une variable qui sera accessible à tout le monde
et tu la declares réellement une fois dans un des fichiers cpp
int prout;

Tu fais ca pour chaque variable et ca devrait bien tourner.

PS : surtout pas de merci à l'aide de visual C++ sur extern parce que à l'époque j'avais bien galéré à comprendre comment ca marche
dimanche 8 mai 2005 à 16:26:52 | Re : Explication sur les .h et .cpp

Rouliann

Membre Club
rajoute

#ifndef _fichier_h
#define _fichier_h


au début de fichier.h et met à la fin

#endif

Tcho ;)

____________________
**Rouliann**
Life is short, program more!
dimanche 8 mai 2005 à 18:09:49 | Re : Explication sur les .h et .cpp

juju0169

 Attendez si j'ai bien compris

dans mon fichier.h
 je met extern devant toutes mes variables, mes declarations de fonctions et mes structures (mais il me semble que devant struct on ne peut pas mettre extern (a voir))

puis apres j'ai un doute

je dois mettre #include "fichier.h" dans les trois fichiers .cpp
ou juste dans un seul???

et puis quand je veux me servir d'une variable globale definie dans mon fichier.h (exemple extern int nombre=0) je met int nombre ???

merci de pour vos reponses car 32 warning ca fait pas tres propre
dimanche 8 mai 2005 à 18:13:26 | Re : Explication sur les .h et .cpp

Rouliann

Membre Club
Moi je n'utilise pas extern et je peux inclure mes headers dans chacuns de mes fichiers .cpp sans générer aucun warning... je pense qu'il est plus facile de rajouter 3 lignes de code dans ton fichier .h plutot que de rajouter extern devant chaque déclaration. Mais c'est à toi de voir ;)

____________________
**Rouliann**
Life is short, program more!
dimanche 8 mai 2005 à 20:00:11 | Re : Explication sur les .h et .cpp

juju0169

Rouliann j'ai bien fais comme t'as dis j'ai mis dans mon fichier.h

#ifndef _fichier_h
#define _fichier_h

#endif

mais ça me laisse les erreurs de redefiniton des globales et des fonctions.

Est ce parceque dans mles trois fichier.cpp je met #include "fichier.h"
????

dimanche 8 mai 2005 à 20:02:45 | Re : Explication sur les .h et .cpp

Rouliann

Membre Club
nan je comprends pas pourquoi ça ne marche pas ... :-/ dzl....

____________________
**Rouliann**
Life is short, program more!
dimanche 8 mai 2005 à 20:20:32 | Re : Explication sur les .h et .cpp

juju0169

ok merci quand meme
dimanche 8 mai 2005 à 20:55:10 | Re : Explication sur les .h et .cpp

Matt67

Bonsoir,

Je pense qu'il est déconseillé de mettre des variables dans des fichiers .h
D'abord, j'opte pour un .cpp il faut un .h donc pour toi, 3 .cpp = 3 .h car comme ca tes fonctions sont réutilisables et pour des gros projets, si tu changes un prototype, tu ne recompile pas tout tes fichiers.
Puis faire comme Rouliann a dit pour eviter les inclusions multiples.
#ifndef TOTO_H
#define TOTO_H
// ici tes prototypes de fonctions
#endif
enfin, si tu as des variables globales à plusieurs fichiers, dans le fichier principal (ou un autre),  tu la declares normalement et tu l'initialises :  int g_ntoto = 0;
puis dans les fichiers ou tu t'en sers tu met int g_ntoto;

Matt...
dimanche 8 mai 2005 à 20:57:09 | Re : Explication sur les .h et .cpp

Matt67

un oubli dans la derniere phrase :
[../..]
puis dans les fichiers ou tu t'en sers tu met : extern int g_ntoto;


Matt...

1 2

Cette discussion est classée dans : fichier, probleme, explication, principal, cpp


Répondre à ce message

Sujets en rapport avec ce message

Des probleme help!!!!!!!!!!!!!!!! [ par echizen69 ] BonjourJe suis nouveau dans le domaine de la programmation, et la j' ai essayer de créer un fichier .h et un fichier .cppPuis j' obtiens :LIBCD.lib(cr probleme avec dev c++ [ par gromito ] j ai un probleme d inclusion de fichier avec dev c++ : mon premier fichier ressemble a ca: //fichier main.cpp #include "ch probleme avec "include" sur devC++ [ par stephe8 ] salut tout le monde ;j'ai un probléme ,j'arrive pas a inclure un fichier.h dans un programme le compilateur affiche le message "G:\prog gare.cpp In fi CPP - probleme structure contenant pointeur sur fonction [ par poueted ] Bonjour tout le monde.J'ai une structure :struct Operation { BOOL (*op) (BOOL, BOOL); int rg_arg1, rg_a compilation des .h [ par jannoman ] Bonjour.Voila mon probleme : j'ai écrit peut être 6 ou 7 classes différentes dans des fichiers .h (et pas juste les prototypes / déclarations, mais au [C++] Débutant [ par Arnold59 ] Bonjour,Je développe parfois en Java (Java version JDK 1.6 update 7), je souhaites apprendre le C++, et j'ai acheté le livre "Le langage c++" de l'édi Probleme avec lecture fichier INI [ par Kaioshin12 ] Bonjour, J'ai un soucis avec la lecture d'un fichier .ini. J'utilise la fonction : GetPrivateProfileString("DATABASE","Serveur","",MaVariable,100,"Co Probleme fichier .txt vers . doc [ par jerem0lim ] Bonjour voilà j'ai un petit problème , je suis étudiant en bts iris et mon projet de fin d'année me demande de crée un fichiers .doc en C++ ,je suis s probleme de recherche [ par rachidotec ] bjr, jèai un probleme de recherche des fichiers selon la date de création. le problem est comme suite: -j'ai crée une application qui regroupe des fic


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales