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

SL & STL C++ Discussion :

Sauvegarder une valeur au moment de preprocessing


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut Sauvegarder une valeur au moment de preprocessing
    Salut,
    Je demande est il possible d'incrémenter une variable lors d'un appelle d'une macro ou sauvegarder une valeur au moment de preprocessing, comme il est deja implimenté pour la commande:
    #line NOUVEAU_NUMERO_DE_LIGNE “NOUVEAU_NOM_DE_FICHIER”
    pour souvegarder le numéro de ligne et le nom du fichier cpp
    merci d'avance

  2. #2
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    A priori ce n'est pas possible avec la précompilation, peut être avec les templates (je ne suis pas encore spécialiste alors je connais pas toutes les limites) mais j'en doute fortement.

    Même si ce serait possible, la compilation se fait sur des unitées de compilation (.cpp) et donc les informations ne seraient partageables que pour une unitée à la fois (donc pas pour tout une application).


    Peut être qu'en nous expliquant l'objectif final pour lequel tu as besoin de ça on pourrait t'aiguyer sur une manière d'arriver au resultat voulu?

  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut compter le nombre d'appelle d'une macro
    merci d'abord de votre réponse,
    objectif: je cherche à compter le nombre d'appelle d'une macro

  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
    Tout dépend du préprocesseur... mais la plupart des preprocesseurs proposent de push / pull de macro (en général en #pragma)

    Par exemple VC8 propose:
    push_macro
    pop_macro

    Ou encore la macro prédéfinie __COUNTER__

    Rien ne t'empêche de faire un truc genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #ifndef VALUE
    #define VALUE 0
    #endif
     
    #define VALUE_TMP   VALUE
    #undef VALUE
    #define VALUE     VALUE_TMP+1
    #undef VALUE_TMP
     
    ....

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut compter le nombre d'appelle d'une marco
    Merci c’est une information très intéressante,
    J’ai déjà essayé avec cette aidé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #ifndef VALUE
    #define VALUE 0
    #endif
     
    #define VALUE_TMP VALUE
    #undef VALUE
    #define VALUE VALUE_TMP+1
    #undef VALUE_TMP
    Mais le problème est que le preprocesseur refuse d’appeler un directif à l’intérieur d’autre, et voilà un aperçu de code que je veux réaliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #define nbrAppelle \
    #ifndef VALUE \
    #define VALUE 0 \
    #endif  \
     
    #define VALUE_TMP VALUE \
    #undef VALUE \
    #define VALUE VALUE_TMP+1 \
    #undef VALUE_TMP

  6. #6
    screetch
    Invité(e)
    Par défaut
    tu peux faire des fichiers 1 2 3 4 5 6 7 8 9 10 11... etc, chacun contenant

    Code fichier 1 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #undef VALUE
    #define VALUE 2

    Code fichier 2 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #undef VALUE
    #define VALUE 3

    etc

    et ensuite
    va changer la valeur de value.
    ca fait beaucoup de fichiers mais c'est a ma connaissance le seul moyen portable. sinon, la macro __COUNTER__ sous gcc >4.2/4.3 je sais plus, et sous visual c++
    Dernière modification par Spout ; 10/09/2008 à 13h24. Motif: Ajout des balises de code (bouton #)

  7. #7
    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 Ibrid Voir le message
    Merci c’est une information très intéressante,
    J’ai déjà essayé avec cette aidé

    Mais le problème est que le preprocesseur refuse d’appeler un directif à l’intérieur d’autre, et voilà un aperçu de code que je veux réaliser :
    Ha... j'avais pas compris ça....

    Oui... donc là c'est plus chaud

    En fait... c'est même pas possible directement.
    Si tu nous disais ce que tu cherches à faire ? (parceque je me souviens avoir eu ce genre d'envies, mais a chaque fois, ca pouvait être remplacé par quelque chose de plus ... subtile ).

Discussions similaires

  1. Modifier et sauvegarder une valeur dans un tableau
    Par pixi777 dans le forum jQuery
    Réponses: 8
    Dernier message: 06/08/2013, 09h50
  2. sauvegarder une valeur en variable global
    Par imorfal dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 17/05/2011, 18h18
  3. Réponses: 7
    Dernier message: 24/01/2008, 02h18
  4. Comment sauvegarder une valeur d'un "champ calculé"?
    Par *Aya* dans le forum Bases de données
    Réponses: 5
    Dernier message: 07/01/2008, 17h00
  5. Réponses: 1
    Dernier message: 22/12/2007, 21h55

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