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 :

créer un fichier .h


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Par défaut créer un fichier .h
    bonjour à tous le monde ,voila j'ai plusieurs fonctions qui sont utilisé par les mêmes programmes
    j'aimerais savoir comment je peut créer un fichier.h pour l'utiliser à chaque appel
    merci

  2. #2
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut créer un fichier .h
    Si tu as plusieurs programmes... tu as 2 solutions :

    1) Tu copies/colles tes sources dans chaque projet (le plus facile au début)
    2) Faire des libs

    Dans tous les cas, en effet, tu devras faire un .h

    Le .h va contenir toutes les déclarations nécessaires à l'utilisation des libs/sources que tu fournis.
    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int Fonction42(char *arg)
    {
      ...
    }
     
    int FonctionTest(int arg1, char arg2)
    {
      ...
      MonEntier = Fonction42(MonCharEtoile);
      ...
    }
    Dans ce cas, je vais utiliser à l'extérieur uniquement la fonction FonctionTest.

    Le .h devra donc contenir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int FonctionTest(int arg1, char arg2);
    Il faudra ajouter aux sources un include.
    Cependant, pour éviter que tes .h s'appellent dans tous les sens et fassent des références croisées...
    Il faut bien les encadrer.
    Voici un exemple :

    test.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #ifndef TEST_H_
    # define TEST_H_
     
    #include <unistd.h>
     
    int FonctionTest(int arg1, char arg2);
     
    #endif /* !TEST_H_ */
    Dans les .c qui appelleront cette fontion, tu devras ajouter : #include "test.h"EDIT : bizarre... mon post est devenu numéro 1...
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Par défaut créer un fichier .h
    Salut à tous.
    j'aimerais savoir comment je peut créer un fichier.h pour l'utiliser à chaque appel
    merci
    Je crois que ta réponse est dans le poste de Matelman.
    T'utilises quel IDE?

  4. #4
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    Ouais alors pour rappel : je n'ai aucune idée de comment mon post est devenu le 1er dans ce topic ! xD

    J'ai juste répondu à ferhat.abdel... et pouf !
    Mon post est devenu numéro 1
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Metalman répond avant que l'internaute ne pose la question. C'est bluffant.

    Et l'internaute vient poser la question là où la réponse est déjà. Non moins troublant.

  6. #6
    Membre averti
    Profil pro
    fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    Salut. merci pour ta réponse
    stp comment créer une bibliothèque
    je veux essayer la deuxième solution
    merci

  7. #7
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    C'est à force d'aider que... POUF ! Je devine à l'avance les questions !

    Alors pour créer une bibliothèque tu as encore plusieurs solutions !
    Tu peux créer des bibliothèques statiques (.a / .lib) ou dynamiques (.so / .dll).

    La différence ?
    La statique : tu devras l'inclure à la compilation
    La dynamique : tu devras la mettre à disposition de l'utilisateur lors de l'exécution

    Je n'ai pas fais beaucoup de bibliothèques pour te l'avouer...
    Je peux surtout te donner des lignes issues de google :

    Créer libs sur Windows avec Visual Studio (C++), mais cela peut à mon avis s'appliquer facilement en C

    Créer libs statiques sur Windows avec Code::Blocks

    Créer libs sur Linux

    Normalement... tu devrais avoir des réponses là dedans...
    Et dans TOUS les cas : ne pas oublier de fournir la lib ET le .h !
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par light86 Voir le message
    slt merci pour ta réponse
    stp comment créer une bibliothèque
    je veut essayer la deuxième solution
    merci
    Cours de C : http://c.developpez.com/cours/
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Créer un fichier d'enregistrements
    Par Oregor dans le forum Langage
    Réponses: 19
    Dernier message: 02/06/2012, 20h02
  2. [CR] Version nécessaire pour créer des fichiers DSR ?
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/11/2003, 09h01
  3. Réponses: 7
    Dernier message: 26/06/2003, 09h11
  4. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30
  5. Instruction pour créer un fichier text ???
    Par Soulsurfer dans le forum Langage
    Réponses: 2
    Dernier message: 06/08/2002, 11h17

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