Question Extension de fichier de code C ++? .cc vs .cpp


J'ai vu le code C ++ enregistré à la fois .cc et .cpp des dossiers. Y a-t-il une différence entre les deux?

le Guide de style Google semble suggérer .cc, mais ne fournit aucune explication.

Je suis principalement concerné par les programmes sur les systèmes Linux.


436


origine


Réponses:


À la fin de la journée, cela n'a pas d'importance car les compilateurs C ++ peuvent traiter les fichiers dans n'importe quel format. Si c'est un vrai problème au sein de votre équipe, lancez une pièce et passez au travail réel.


524



GNU GCC reconnaît tous les éléments suivants en tant que fichiers C ++ et utilisera la compilation C ++, que vous l'appeliez via gcc ou g ++: .C, .cc, .cpp, .CPP, .c++, .cp, ou .cxx.

Noter la .C - cas dans GCC, .c est un fichier C alors que .C est un fichier C ++ (si vous laissez le compilateur décider de ce qu'il compile).

GCC prend également en charge d'autres suffixes pour indiquer une manipulation spéciale, par exemple un .ii le fichier sera compilé en C ++, mais pas pré-traité (destiné au code pré-traité séparément). Tous les suffixes reconnus sont détaillés à gcc.gnu.org


211



Un excellent conseil sur lequel utiliser pour le fichier makefile et d'autres outils, en considérant les outils non-compilateur tout en décidant sur quelle extension à utiliser est une excellente approche pour aider à trouver une réponse qui fonctionne pour vous.

Je voulais juste ajouter ce qui suit pour aider avec certains .cc contre .cpp info que j'ai trouvé. Ce qui suit sont des extensions décomposées par différents environnements (du livre "C ++ Primer Plus"):

Unix utilise: .C, .cc, .cxx, .c

GNU C ++ utilise: .C, .cc, .cxx, .cpp, .c++

Le numérique Mars utilise: .cpp, .cxx

Borland C ++ utilise: .cpp

Watcom utilise: .cpp

Microsoft Visual C ++ utilise: .cpp, .cxx, .cc

Metrowerks CodeWarrior utilise: .cpp, .cp, .cc, .cxx, .c++

Les différents environnements prennent en charge différentes extensions. Moi aussi je cherchais à répondre à cette question et j'ai trouvé ce post. Basé sur ce post, je pense que je pourrais aller avec .hpp et .cpp pour faciliter la reconnaissance multi-plateforme / multi-outils.


139



.cpp est l'extension recommandée pour C ++ autant que je sache. Certaines personnes recommandent même d'utiliser .hpp pour les en-têtes C ++, juste pour différencier de C.

Bien que le compilateur ne se soucie pas de ce que vous faites, c'est sa préférence personnelle.


59



J'utilise personnellement .cc extension pour les fichiers d'implémentation, .hh pour les en-têtes, et .inl pour inline / templates.

Comme dit précédemment, c'est surtout une question de goût.

De ce que j'ai vu, .cc semble être plus "projets open source orientés", comme il est conseillé dans certains grands styles de codage de logiciels open source, alors que.cpp semble être plus Windowish.

--- MODIFIER

Comme mentionné, c'est "de ce que j'ai vu", ça peut être faux. C'est juste que tous les projets Windows sur lesquels j'ai travaillé .cpp, et beaucoup de projets open source (qui sont principalement sur unix-like) utilisent .cc.

Exemples de styles de codage utilisant .cc:


26



Les autres extensions de fichiers utilisées incluent .cxx et .C (majuscule C). Je crois que Bjarne Stroustrup utilisé .C initialement. .cpp est le nom du préprocesseur C, il est donc dommage qu'il soit également utilisé pour le C ++.


14



Suivez simplement la convention utilisée par projet / équipe.


10



L'autre option est .cxx où le x est censé être un plus tourné de 45 °.

Windows, Mac et Linux supportent tous .c++ nous devrions donc simplement utiliser cela.


9



J'ai personnellement jamais vu .cc dans tout projet sur lequel j'ai travaillé, mais en toute technicité le compilateur ne se souciera pas.

Les développeurs travailleront sur votre source, alors ma règle générale est d’aller avec ce que votre équipe est à l’aise. Si votre "équipe" est la communauté open source, optez pour quelque chose de très commun, dont .cpp semble être le favori.


8