142 votes

Quelle est la différence entre les suffixes de fichier .cc et .cpp ?

Quelle est la différence entre .cc y .cpp les extensions de fichiers ?

Grâce à Google, j'ai appris qu'ils sont tous deux issus du langage C++, mais je ne suis pas certain des différences entre eux.

243voto

James Kanze Points 96599

Conventions.

Historiquement, le suffixe pour un fichier source C++ était .C . Cela a causé quelques problèmes la première fois que C++ a été porté sur un système où la casse n'était pas significative dans le nom du fichier.

Les utilisateurs ont adopté des solutions différentes : .cc , .cpp , .cxx et peut-être d'autres. Aujourd'hui, en dehors du monde Unix c'est surtout .cpp . Unix semble utiliser .cc plus souvent.

Pour les en-têtes, la situation est encore plus confuse. raisons, les premiers auteurs de C++ ont décidé de ne pas faire de distinction entre entre les en-têtes pour le C et pour le C++, et utilisèrent .h .

Cela ne pose aucun problème s'il n'y a pas de C dans le projet, mais quand vous mais quand vous commencez à avoir affaire aux deux, c'est en général une bonne idée de distinguer les en-têtes qui peuvent être utilisés en C ( .h ) et ceux qui ne le peuvent pas ( .hh o .hpp ).

De plus, en C++, beaucoup d'utilisateurs (dont moi) préfèrent conserver le template et les fonctions en ligne dans un fichier séparé. Ce qui est le cas, bien qu'étant à proprement parler un fichier d'en-tête, tend à obtenir encore un autre ensemble de conventions ( .inl , .tcc et probablement beaucoup de d'autres).

Dans le cas des en-têtes, cela ne fait absolument aucune différence pour le compilateur.

Dans le cas de fichiers sources, des terminaisons différentes amèneront le compilateur à supposer un langage différent. langage. Mais ceci peut normalement être surmonté, et j'ai utilisé la méthode suivante .cc avec VC++ bien avant que VC++ ne le reconnaisse comme C++.

19voto

Alon Gubkin Points 15371

Il n'y a pas de différence. Ils sont exactement les mêmes.

10voto

Dentoid Points 312

Techniquement, pour le compilateur, il n'y a pas de différence. Cependant, certains compilateurs et/ou systèmes de compilation devineront comment compiler vos fichiers sur la base de l'extension et pourront ou non détecter "cc" (ou "cpp" mais c'est plus rare je suppose) comme un fichier c++.

6voto

Bodhi Points 184

En fait, tout dépend de ce que vous et votre compilateur préférez. Il n'y a aucune différence entre eux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X