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 :

différence entre CXX et CPP


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    stagiaire
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Par défaut différence entre CXX et CPP
    Dans des Makefile on trouve des règles pour des fichiers CXX CPP CC mais quel est réellement la différence entre ces fichiers et les règles de compilation ...

    CXX_FLAGS=
    CPP_FLAGS=
    CFLAGS=
    ...

    Merci d'avance pour vos précisions

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 633
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 633
    Par défaut
    Salut,

    A vrai dire, à l'heure actuelle, il n'y a plus de différence entre CXX_FLAGS et CPP_FLAGS.

    CFLAGS permet d'indiquer les drapeaux à utiliser lors de la compilation d'un code C et les deux autres les drapeaux à utiliser lors de la compilation d'un code C++.

    En effet, gcc est capable de compiler aussi bien du code C que du code C++.

    Il faut savoir que, à l'origine, il existait trois moyens d'indiquer à gcc que l'on voulait travailler sur du code C++, et tous passaient par l'extension des fichiers.

    Les trois extensions reconnues comme étant sensées contenir du C++ étaient *.cpp, *.cxx et *.C (en majuscule).

    Seulement, c'était valide sur les systèmes d'exploitation sensibles à la casse (aux différences entre minuscule et majuscule) dans le nom des fichiers.

    L'ennui, c'est que windows est arrivé, et que, pour lui, monfichier.C est exactement le même fichier que MonFichier.c ou que MONFICHIER.C, alors qu'avant, ils auraient été considérés comme étant trois fichiers différents (sur Unix, principalement).

    L'extension .C a donc été abandonnée pour cette raison d'insensibilité à la casse, et l'extension *.cxx est progressivement tombée en désuetude.

    Voilà pourquoi, maintenant, l'habitude est plutôt d'utiliser l'extension *.cpp, et donc d'avoir principalement besoin de CPP_FLAGS.

    Comme gcc pourrait, n'importe quand, considérer de gérer les extensions .cxx de manière différente, mais, que, pour l'instant, il les gère encore comme étant des fichiers contenant du C++, on s'assure que les deux extensions utiliseront les même drapeaux en déclarant généralement l'un comme étant égal à l'autre
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Normalement c'est CFLAGS, CPPFLAGS et CXXFLAGS.
    Il n'y a pas de _.

    CFLAGS ce sont les options passées au compilateur C
    CPPFLAGS les options passées au préprocesseur
    CXXFLAGS les options passées au compilateur C++

    Ces variables sont utilisées pour les commandes par défaut générées par make, dans le cas où tu ne donnes pas de commande à exécuter pour réaliser les dépendances.

Discussions similaires

  1. Différence entre .h, .cpp, main
    Par guy16 dans le forum Débuter
    Réponses: 3
    Dernier message: 30/04/2015, 12h17
  2. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  3. Réponses: 4
    Dernier message: 10/11/2008, 11h13
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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