Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur les directives pré processeur

utiliser #pragma once ?

Sujet résolu
    7 juin 2008 à 20:45:06

    Salut tout le monde, j'ai une petite question sur les directives pré-processeur : je me suis rendu compte que parfois on remplaçait les lignes de code
    #ifndef NOMCLASSE_H
    #define NOMCLASSE_H
    
        //Code
    
    #endif
    


    par cette commande :

    #pragma once
    
        //Code
    


    Quelqu'un pourrait il m'éxpliquer la différence entre ces deux manières de coder et comment faire pour choisir entre ces deux méthodes ?

    Merci de votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      7 juin 2008 à 20:47:21

      En faite le deuxièmùe code est propre à visual c++ or la première version est bonne pour tout les compilos.
      • Partager sur Facebook
      • Partager sur Twitter
      :)
        7 juin 2008 à 21:00:21

        Dès qu'on a un #pragma quelque part, c'est que c'est non portable.
        • Partager sur Facebook
        • Partager sur Twitter
          8 juin 2008 à 9:50:55

          Les gens compilant avec Visual C++ peuvent utiliser les deux en même temps : #pragma once sera toujours un poil plus rapide (le fichier ne sera pas réouvert et parsé à nouveau s'il a déjà été inclus), et la macro permettra au code de fonctionner sur d'autres compilos.

          Ceci-dit, ce genre d'optimisation est bien minime pour que l'on prenne la peine de l'utiliser. Même sur des projets énormes, le gain n'est plus si évident.

          Conclusion : tu peux oublier #pragma once.
          • Partager sur Facebook
          • Partager sur Twitter
            12 juin 2008 à 19:52:57

            Salut, je voulais juste vous remercier d'avoir pris le temps de me répondre, je me coucherai moins bête ce soir... :)
            • Partager sur Facebook
            • Partager sur Twitter

            Question sur les directives pré processeur

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown