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 :

config.h


Sujet :

C++

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Par défaut config.h
    bonjour,
    je vois dans beaucoup de programme cceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    #ifdef HAVE_CONFIG_H
    	#include "config.h"
    #endif
    et je me demandais a quoi servait ce config.h

    merci

    ps, j'ai fait une recherche sur google, mais ce con me donne du code et non pas des explications.

    a++

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Le mieux est de regarde le contenu de config.h. En général, c'est un fichier généré via make qui contient plein de typedef adaptés à la compilation sur le système en cours (pour les programmes hautement portables) : possibilités de compilateur, little/big endian, 32/64 bits, version du logiciel, utilisation des thread, ... bref tout ce qui peut être configuré par configure.

  3. #3
    Membre éclairé Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Par défaut
    little/big endian, 32/64 bits, version du logiciel, utilisation des thread,
    Que veux tu dire par la ? Il vas definir certaines chose si on est sur 32 / 64 bits little big endian ???

    Est ce procédé est multiplate forme ? Et surtout Est ce que Visual C++ definit les meme choses ???

    La ca m'intéresse vraiment

  4. #4
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    "il" ? C'est toi qui décide. Si ton code comporte des portions différentes en fonction du little / big endian, typiquement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifdef LITTLE_ENDIAN
        // ...
    #else
        // ...
    #endif
    tu es d'accord qu'à un moment ou un autre il faut définir ou pas LITTLE_ENDIAN ? Ceci est fait dans le config.h lors de la préparation de la compilation (configure), avant le make.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // config.h pour compiler sur plateform Intel
     
    #define LITTLE_ENDIAN
    Le contenu de config.h sera adapté à chaque cas.

    C'est toi qui définit tout ce qu'il faut définir pour que ton code compile sur une platforme donnée. Le compilateur n'a rien à voir là dedans, ça se passe avant la compilation.

  5. #5
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    C'est lié aux autotools qui génèrent makefiles et fichiers de configs à partir de tests exécutés avant la compilation. C'est très C-nixien comme approche.

    En C++, avec des trus comme boost ou d'autres bibliothèques, on commence à en avoir de moins en moins besoin personnellement : tous les tests sont réalisés par ces grosses bibliothèques. Soit via les autotools, soit autrement.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Par défaut
    merci

  7. #7
    Membre éclairé Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Par défaut
    En fait je me suis mal exprimé quand je disais "il" je voulais dire l'environnement de développement.

    Grosso modo je travail sur un jeu multi plate forme... Meme si j'aime pas trop les autoconf, et compagnie car j'ai jamais pris le temps d'apprendre a m'en servir, je veux bien m y mettre en ce qui concerne la plateforme linux...

    Mais sous windows tout ca est un peu flou avec Visual C++... Je ne sait pas vraiment quels sont les "variable" de compilation (je ne sait pas trop comment ca se dit) qui sont définit...

    en gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifdef LITTLE_ENDIAN
        // ...
    #else
        // ...
    #endif
    Ca sous linux avec ./configure, je le comprend très bien mais sous Visual je ne sait pas...

    En ce qui concerne boost faudrais que je regarde mais j avoue que ca me fais un peu peur J'essai de limité les appels à de nombreuses bibliotheques mais je crois que finalement c'est ce qui sera peut etre le mieux.

    Mon but, c'étais d'échanger des données via le réseau le plus rapidement possible et sans avoir a me soucier de la machine d'en face... définir des variables du genre "u32", "s32", "u16" et compagnie ca m'aurait bien plut...

    Peut etre que tout ca est définit dans boost...

    Aller hop je vais mettre les mains dans le cambouis.

    Merci

  8. #8
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Les macros définies par VC++ sont ici:
    http://msdn.microsoft.com/library/en-us/vclang/html/_PREDIR_Predefined_Macros.asp

  9. #9
    Membre éclairé Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Par défaut
    cool merci

Discussions similaires

  1. Config carte reseau ethernet 10/100
    Par toto_titi dans le forum Réseau
    Réponses: 9
    Dernier message: 08/02/2012, 17h57
  2. [Config] Classes non trouvées
    Par newfsch dans le forum JBuilder
    Réponses: 2
    Dernier message: 27/01/2004, 21h12
  3. Fichier texte de config
    Par jeannot27 dans le forum C++Builder
    Réponses: 15
    Dernier message: 22/01/2004, 18h47
  4. fichier de config: refuse tcpip_socket=true.
    Par phil25 dans le forum Installation
    Réponses: 1
    Dernier message: 04/01/2004, 15h55
  5. [TomCat][sécurité]config fichier web.xml
    Par liomac dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 24/09/2003, 15h46

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