IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

ou mettre les .h


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut ou mettre les .h
    Bonjour,

    Je réalise actuellement un projet de C et je me demandaus , pour vous ou faut il définir les

    Je me demande si c'est mieux dans les .h ou les .c ou si ça n'a pas d'importance ..

    par exemple j'ai jeu qui inclus titi.h , dois je le mettre l'inclusioin dans jeu.c ou jeu.h ?

    Merci de m'eclaircir sur ce point car actuellement c'est un peu tout et n'importe quoi dans mes fichier et j'aimerais bienrationaliser tout ça

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par IP-Fix Voir le message
    Bonjour,

    Je réalise actuellement un projet de C et je me demandaus , pour vous ou faut il définir les

    Je me demande si c'est mieux dans les .h ou les .c ou si ça n'a pas d'importance ..

    par exemple j'ai jeu qui inclus titi.h , dois je le mettre l'inclusioin dans jeu.c ou jeu.h ?

    Merci de m'eclaircir sur ce point car actuellement c'est un peu tout et n'importe quoi dans mes fichier et j'aimerais bienrationaliser tout ça
    Le principe est simple.

    Quand on fait un x.c, on crée une ou des fonctions publiques. Les prototypes séparés de ces fonctions doivent être placés dans un x.h correspondant. Celui-ci doit contenir tout ce qu'il faut pour définir les prototypes (constantes, types structures, autres headers etc.). Il est bien sûr protégé contre les inclusions multiples.

    Pour s'en assurer, on inclue "x.h" dans x.c en premier fichier.

    Ensuite on inclue "x.h" dans tous les .c qui utilisent les fonctions de x.c et dans tous headers qui utilisent les définitions placées dans x.h.

    http://emmanuel-delahaye.developpez....ganiser_source
    http://emmanuel-delahaye.developpez.....htm#organiser

    Si tu ne t'en sort pas, poste un lien vers tes sources...

  3. #3
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    Oki , donc les .h dans les .h sauf le .h correspondant au .c n question qu'on met dans ce dernier !

    Merci pour cette réponse !

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par IP-Fix Voir le message
    Oki , donc les .h dans les .h sauf le .h correspondant au .c n question qu'on met dans ce dernier !
    Tu n'as pas compris du tout. Le principe est vraiment simple, il faut inclure ce qu'on utilise la ou on l'utilise. Relis les liens donnes par Emmanuel.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Par défaut
    exemple rapide :

    my_printf.c .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #include <stdio.h>
    #include "my_header.h"
    void  my_printf()
    {
     printf("c est cool");
    }
    my_strcmp.c

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #include "my_header.h"
    #include <strings.h>
    int my_strcmp()
    {
     strcmp("des", "src");
    }
    main.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include "my_header.h"
    #include <math.h>
    int main(int ac, char **av)
    {
     my_printf();
     my_strcmp();
     sqrt(4);
    }

    my_header.h :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #ifndef __BLABLA__BLA_
    #define __BLABLA__BLA_
    void my_printf();
    int   my_strcmp();
    int   main(int ac, char **av);
    #endif
    c'est extrement degueulasse du point de vue code ce que j'ai fait lis une fois regarde comment le header est utilisé et fait toi un lavage de cerveau =p

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 19/11/2005, 18h56
  2. mettre les termes d'un string dans une struct
    Par grand's dans le forum SL & STL
    Réponses: 17
    Dernier message: 29/11/2004, 17h43
  3. mettre les formulaires aux mêmes dimensions
    Par xycoco dans le forum IHM
    Réponses: 6
    Dernier message: 09/10/2004, 09h32
  4. Mettre les <input> en disabled
    Par Oberown dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 05/10/2004, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo