Avatar ·

Extensions de fichiers C++ : .cc, .cpp, .cxx, .h — quelle différence et que choisir ?

Bonjour à tous ! Je viens de commencer à apprendre le C++ et j'écris des programmes simples dans Visual Studio Code. J'ai remarqué que lorsque je crée un nouveau fichier, on me propose de choisir parmi une multitude d'extensions : .cpp, .cc, .cxx, et pour les fichiers d'en-tête — .h, .hpp, .hxx. J'ai l'habitude d'utiliser toujours .cpp et .h, parce que c'était comme ça dans le premier tutoriel. Mais récemment, j'ai téléchargé un projet open-source sur GitHub, et tous les fichiers y avaient l'extension .cc. J'ai essayé de les renommer en .cpp, mais le compilateur a généré des erreurs de linkage — il dit qu'il ne peut pas trouver certaines fonctions. J'ai dû tout remettre comme avant. Maintenant, je suis confus : ces extensions sont-elles interchangeables ou non ? Si oui, pourquoi le projet en .cc ne fonctionne-t-il pas quand je les renomme en .cpp ? Et si non, quelle extension est considérée comme « correcte » ou « standard » ? Autre question : l'extension influence-t-elle la façon dont le compilateur traite le code ? Par exemple, peut-il confondre les fichiers C et C++ ? Mon exemple : j'ai écrit une simple classe `Cat` dans le fichier `Cat.cc` et le main dans `main.cc`. Tout se compile avec g++ main.cc Cat.cc -o app. Mais