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

Langage C++ Discussion :

Pb compilation conditionelle


Sujet :

Langage C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut Pb compilation conditionelle
    Bonjour,

    Le code suivant me grise en permanence la 2eme partie.
    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
     
    #define MULTITHREADING REDUCTION
    // CRITICAL
    //REDUCTION
     
    int main(int argc, char * argv[])
    {
     
    	#ifdef MULTITHREADING==CRITICAL
     
    	#elif MULTITHREADING==REDUCTION
     
    	#endif
     
    return 0;
    }

    Je ne comprends pas alors que je definis MULTITHREADING=REDUCTION

    Voyez-vous une raison particulière à ce mauvais fonctionement?

    Merci.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour et bienvenu,
    2 problèmes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #ifdef MULTITHREADING==CRITICAL
    Ce ne devrait pas être ifdef mais tout simplement if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #if MULTITHREADING==CRITICAL
    Ensuite, si CRITICAL et REDUCTION ne sont pas définis, alors (à confirmer si le comportement est normé ou dépendant du compilo) la comparaison considère qu'ils valent tous deux 0. Donc MULTITHREADING==CRITICAL <=> REDUCTION==CRITICAL <=> 0==0.
    Donc :
    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
    #include <iostream>
     
    #define MULTITHREADING REDUCTION
    #define CRITICAL 1
    #define REDUCTION 2
    int main()
    {
     
    	#if MULTITHREADING==CRITICAL
    	std::cout<<"critical\n";
    	#elif MULTITHREADING==REDUCTION
    	   std::cout<<"reduction\n";
    	#else
    	   erreur MULTITHREADING vaut n importe quoi
    	#endif
     
    return 0;
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Ok parfait
    Il fallait bien definir CRITICAL et REDUCTION

    Merci

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 04/12/2014, 16h23
  2. Réponses: 4
    Dernier message: 17/02/2006, 15h07
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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