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 :

Questions sur les .h


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 112
    Par défaut Questions sur les .h
    Salut,
    J'ai 2 questions a propos des .h:
    1-Quelle est la différence un <toto.h> , un <toto/momo.h> et un "toto.h" ?
    2- Comment transformer un "toto.h" en un <toto.h> ?


    Cordialement.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juillet 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2004
    Messages : 289
    Par défaut
    1- <toto.h> est dans les répertoires "connus" de ton compilateur
    "toto.h" est dans les répertoires autres (définis sur ton projet)
    <toto/momo.h> ton fichier momo.h est dans le répertoire "répertoire_connu_de_ton_compilo\toto\"

    2- tu mets ton fichier dans les répertoires par défaut de ton compilo

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    2- tu ignores le mauvais conseil de Captain_JS et tu ajoutes plutôt le répertoire contenant toto.h à la liste de répertoires connus de ton compilo.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    2- tu ignores le mauvais conseil de Captain_JS et tu ajoutes plutôt le répertoire contenant toto.h à la liste de répertoires connus de ton compilo.
    Tout à fait d'accord.

    Une installation propre de bibliothèque par exemple se fait en 2 étapes :
    - on installe la bibliothèque dans un répertoire sur son disque dur
    - on ajoute les dossier "include" et "lib" de cette bibliothèque respectivement aux répertoires d'inclusion du compilateur et aux répertoires de liaison du compilateur. Cela se traduit par exemple pour GCC par l'ajout de paramètres -I et -L ('i' et 'l' majuscules) dans la commande de compilation de chacun des fichiers.

    Cela permet entre autres lors d'une mise à jour de la bibliothèque de ne faire que remplacer l'ancienne par la nouvelle ou alors mettre la nouvelle dnas un autre répertoire et ainsi simplement changer les dossiers que l'on avait rajouté pour la version précédente dans les options du compilateur.

    Mettre la main dans les dossiers include et lib fournis avec le compilateur ce n'est pas une bonne pratique.

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par hunter99 Voir le message
    Salut,
    J'ai 2 questions a propos des .h:
    1-Quelle est la différence un <toto.h> , un <toto/momo.h> et un "toto.h" ?
    Normalement, un #include <A> va commencer par chercher A dans les répertoire connus, puis relativement à l'unité de compilation (le .cpp)
    Un #include "A" va commencer par chercher A relativement à l'unité de compilation puis dans les répertoire connus

    Ensuite... rien ne t'empêche de mettre un chemin relatif, genre:
    #include "../includes/toto.h"
    Si ton fichier .cpp est dans "C:\test\src\toto.cpp", le précompilateur va d'abord chercher "C:\test\includes\toto.h"

Discussions similaires

  1. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49
  2. question sur les vertex buffer et index buffer
    Par airseb dans le forum DirectX
    Réponses: 9
    Dernier message: 25/08/2003, 02h38
  3. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  4. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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