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 :

Interrogation sur les #if defined()


Sujet :

C

  1. #1
    Invité
    Invité(e)
    Par défaut Interrogation sur les #if defined()
    Bonsoir,

    Je dois utiliser pour des programmes multi-plateformes les fameux #if defined (ou #ifdef).

    Je me suis toujours posé une question dont je n'arrive pas à trouver ma réponse, y'a t'il un endroit où l'on peut trouver ces defined que l'on utilise tout le temps ?

    Et également s'il y'a des "regroupements" du style "Unix" "BSD"... Etant sur FreeBSD j'ai bien pu voir des (__BSD_VISIBLE) ou dans un autre style (__POSIX_VISIBLE) sans pour autant savoir si c'était "standard".

    Pour information mon compilateur est gcc sur FreeBSD et mingw sur Win32/64.

    Je pique des codes à droite et à gauche dans les codes, mais cette question du soir et devenu si intense que je me permets de vous la poser

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Salut,

    Sous les systèmes linux, on peut trouver ceci dans le fichier /usr/lib/features.h

    Pour les autres système, je ne pourrais pas te dire, mais il semblerait que les bibliothèque portables traitent tous les cas et font leurs regroupements eux-mêmes :

    Extrait de QT (qglobal.h)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    #elif !defined(SAG_COM) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))
    #  define Q_OS_WIN32
    #  define Q_OS_WIN64
    #elif !defined(SAG_COM) && (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
    #  if defined(WINCE) || defined(_WIN32_WCE)
    #    define Q_OS_WINCE
    #  else
    #    define Q_OS_WIN32
    #  endif
    #elif defined(__MWERKS__) && defined(__INTEL__)
    #  define Q_OS_WIN32
    #elif defined(__sun) || defined(sun)
    #  define Q_OS_SOLARIS
    #elif defined(hpux) || defined(__hpux)
    #  define Q_OS_HPUX
    #elif defined(__ultrix) || defined(ultrix)
    #  define Q_OS_ULTRIX
    #elif defined(sinix)
    #  define Q_OS_RELIANT
    #elif defined(__linux__) || defined(__linux)
    #  define Q_OS_LINUX
    #  define Q_OS_GLIBC
    #elif defined(__GNU_HURD__) || defined(__GNU__)
    #  define Q_OS_HURD
    #  define Q_OS_GLIBC
    #elif defined(__GLIBC__)
    #  define Q_OS_GLIBC
    #elif defined(__FreeBSD__) || defined(__DragonFly__)
    #  define Q_OS_FREEBSD
    #  define Q_OS_BSD4
    #elif defined(__NetBSD__)
    #  define Q_OS_NETBSD
    #  define Q_OS_BSD4
    #elif defined(__OpenBSD__)
    #  define Q_OS_OPENBSD
    #  define Q_OS_BSD4
    #elif defined(__bsdi__)
    #  define Q_OS_BSDI
    #  define Q_OS_BSD4
    #elif defined(__sgi)
    #  define Q_OS_IRIX
    #elif defined(__osf__)
    #  define Q_OS_OSF
    #elif defined(_AIX)
    #  define Q_OS_AIX
    #elif defined(__Lynx__)
    #  define Q_OS_LYNX
    #elif defined(__DGUX__)
    #  define Q_OS_DGUX
    #elif defined(__QNXNTO__)
    #  define Q_OS_QNX
    NeoKript

  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
    Pour POSIX, il me semble qu'on utilise XOPEN_SOURCE ou _XOPEN_SOURCE...
    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
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Citation Envoyé par _-Slash-_ Voir le message
    Je me suis toujours posé une question dont je n'arrive pas à trouver ma réponse, y'a t'il un endroit où l'on peut trouver ces defined que l'on utilise tout le temps ?
    http://predef.sourceforge.net/ ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par D[r]eadLock Voir le message
    C'est exactement cela ! Merci pour ce lien qui est allé dans mes favoris.

Discussions similaires

  1. Interrogation sur les DNS
    Par k-nine dans le forum Réseau
    Réponses: 2
    Dernier message: 18/09/2008, 16h50
  2. Interrogation sur les forms
    Par M€lK!oR dans le forum JSF
    Réponses: 1
    Dernier message: 06/05/2008, 09h36
  3. Interrogation sur les frames d'animation
    Par franc82 dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 23/11/2006, 18h40
  4. soucis sur les USER DEFINED DATA TYPE
    Par f_bobo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2006, 15h53
  5. Petite interrogation sur les z-index et div
    Par Delphy113 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/02/2006, 21h09

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