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 define vide


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut Créer un define vide
    Bonjour,

    je voudrais faire un define suivant un autre define sinon rien, ce n'est pas trés clair peut-etre. En fait dans l'example ci-dessous je voudrait que si le define DEBUG_TW n'est pas defini alors Func_DEBUG_TW vale rien ou un blanc. Mais je ne sais pas quoi mettre à la place des '???' pour faire ca.
    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #ifdef DEBUG_TW
      #define Func_DEBUG_TW printf("%s\n",__PRETTY_FUNCTION__);
    #else
      #define Func_DEBUG_TW  ???
    #endif
     
    void my_func()
    {
      Func_DEBUG_TW
      ...
    }

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #ifdef DEBUG_TW
      #define Func_DEBUG_TW printf("%s\n",__PRETTY_FUNCTION__);
    #else
      #define Func_DEBUG_TW
    #endif
     
    void my_func()
    {
      Func_DEBUG_TW
      ...
    }
    Cela devrait marcher, mais à tester
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre éprouvé Avatar de krieg
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Par défaut
    Bonjour, je viens de tester la réponse précédente qui fonctionne nickel
    bye

  4. #4
    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
    Par contre je te conseille de NE PAS inclure le ';' dans ton define...
    La raison est le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    if (something) Func_DEBUG_TW
    a += 2;
    Si tu inclus le ';' dans le define... alors tu ne mettras pas de ';' après le Func_DEBUG_TW... Résultat si DEBUG_TW n'est pas défini:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (something) a+=2;
    Si par contre, comme je te le conseille, tu omets le ';' donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifdef DEBUG_TW
      #define Func_DEBUG_TW printf("%s\n",__PRETTY_FUNCTION__)
    #else
      #define Func_DEBUG_TW
    #endif
    D'une part tu pourras utiliser ta fonction dans d'autres fonctions (et pas comme statement à part), mais surtout tu seras forcé d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (something) Func_DEBUG_TW;
    a+=2;
    se qui se traduira par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (something) ;
    a+=2;
    si DEBUG_TW n'est pas défini.

  5. #5
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Ok merci beaucoup pour ta solution, nikel

Discussions similaires

  1. Créer un fichier vide
    Par Bouguennec dans le forum Pascal
    Réponses: 5
    Dernier message: 08/08/2007, 19h45
  2. Créer un fichie vide sous DOS
    Par lib.jar dans le forum Windows XP
    Réponses: 4
    Dernier message: 13/06/2007, 16h59
  3. [JTable] Créer une JTable vide avec des noms de colonnes.
    Par Cyborg289 dans le forum Composants
    Réponses: 2
    Dernier message: 27/09/2005, 15h54
  4. [FLASH MX2004] Créer un clip vide et le transformer en bouto
    Par softyClochette dans le forum Flash
    Réponses: 5
    Dernier message: 13/12/2004, 21h26
  5. Réponses: 2
    Dernier message: 29/07/2003, 12h52

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