Qu'est-ce que le format de fichier CC ?
Un fichier .cc est un fichier de code source C++ en texte brut. Il contient du code C++ lisible par l'homme, y compris des directives de préprocesseur telles que #include et #define, des déclarations d'espaces de noms, des définitions de classes et des corps de fonctions. L'extension .cc est fonctionnellement identique à .cpp - les deux contiennent du code source C++ - mais .cc est la convention privilégiée par la chaîne d'outils GNU et le guide de style C++ de Google, tandis que .cpp est la norme dans les projets Windows et Visual Studio.
Pour produire un programme exécutable, un fichier .cc doit être compilé. Sur Linux et macOS, les commandes typiques sont g++ file.cc -o output ou clang++ file.cc -o output. Sur Windows, MSVC (cl.exe) et MinGW-w64 acceptent également les fichiers .cc, bien que .cpp y soit plus courant par convention.
Le fichier est du texte pur ASCII ou UTF-8 sans signature binaire ni « magic bytes ». Un BOM UTF-8 optionnel (EF BB BF) peut apparaître à l'offset 0 mais est rarement utilisé et non requis. Les fichiers s'ouvrent généralement par des blocs de commentaires, des directives #include (par exemple, #include <iostream>), puis des définitions de classes ou de fonctions.
Le standard du langage C++ ciblé par le code - C++11, C++17, C++20 ou C++23 - est sélectionné au moment de la compilation via un drapeau tel que --std=c++23, et n'est pas intégré dans le fichier .cc lui-même. Les déclarations associées sont généralement conservées dans un fichier d'en-tête apparié .hh ou .hpp. La compilation produit un fichier objet .o (Linux/macOS) ou .obj (Windows), qui est ensuite lié dans un exécutable final ou une bibliothèque.
Sécurité et sûreté
RISQUE : LOWUn fichier .cc est du texte brut et ne peut pas s'exécuter de lui-même, donc l'ouvrir dans un éditeur est sûr. Le risque n'apparaît que lorsque vous COMPILEZ et EXÉCUTEZ du code C++ inconnu : une source d'origine non fiable peut faire tout ce qu'un programme peut faire une fois construite (supprimer des fichiers, accès réseau, installer des logiciels malveillants), et la nature de bas niveau du C++ rend le code malveillant ou buggé facile à cacher. Lisez le code avant de le compiler, construisez le code non fiable dans un bac à sable (sandbox) ou une VM, et n'exécutez jamais un binaire compilé en lequel vous n'avez pas confiance. L'extension elle-même ne comporte aucun exploit - le danger réside dans ce que fait le code après compilation.
Détails du format
en bref- Scène Cult3D Designer (hérité) - Cult3D de Cycore utilisait .cc comme scène 3D interactive exportée ; la chaîne d'outils est abandonnée depuis longtemps et la signification de source C++ domine aujourd'hui.
- Convention GNU/Unix C++ vs .cpp - Les deux extensions .cc et .cpp désignent du source C++ ; .cc est privilégié par les guides de style GNU et Google, .cpp par Windows/Visual Studio - même langage, convention différente.
Programmes qui ouvrent les fichiers CC
Détails techniques
spécifications approfondies| Type MIME | text/x-c++src (également acceptés : text/x-c++, text/plain) |
| Encodage du fichier | Texte brut - ASCII ou UTF-8 ; BOM UTF-8 optionnel (EF BB BF) à l'offset 0 |
| Signature binaire (magic bytes) | Aucune - fichier texte brut sans séquence d'octets fixe ; identifié par l'extension ou les motifs de contenu |
| Taille typique du fichier | De quelques Ko à des dizaines de Ko par fichier source ; les bases de code volumineuses peuvent avoir des fichiers individuels atteignant des centaines de Ko |
| Fins de ligne | LF (convention Unix/Linux/macOS) ou CRLF (Windows) |
| Compilation requise | Oui - un fichier .cc est uniquement du source ; doit être compilé avec g++, clang++ ou MSVC avant de pouvoir être exécuté |
| Compilateurs courants | GCC (g++), Clang (clang++), MSVC (cl.exe), MinGW-w64 |
| Cibles standards C++ | C++98 jusqu'à C++23 ; standard sélectionné par le drapeau du compilateur (ex: -std=c++17 ou /std:c++20), non stocké dans le fichier |
| Convention d'extension | Privilégiée par la chaîne d'outils GNU et le guide de style C++ de Google ; .cpp est la convention Windows / Visual Studio pour un contenu identique |
| Directives de préprocesseur | #include, #define, #ifdef/#ifndef, #pragma et d'autres directives de préprocesseur C apparaissent généralement en haut du fichier |
| Fichiers d'en-tête associés | Apparié avec des en-têtes .hh ou .hpp ; le fichier d'implémentation .cc importe les déclarations via #include |
| Sortie compilée | Compilé en un fichier objet .o (Linux/macOS) ou .obj (Windows) ; lié par la suite dans un exécutable ou une bibliothèque statique/partagée |
| Fonctionnalités du langage supportées | Classes, modèles (templates), exceptions, conteneurs STL, RAII, expressions lambda, constexpr et concepts (C++20+) |
| Intégration au système de construction | Répertorié comme source dans les fichiers Makefile, CMakeLists.txt (CMake), BUILD (Bazel) ou meson.build |
| Interchangeabilité avec .cpp | .cc et .cpp sont des extensions de source C++ fonctionnellement identiques ; la plupart des compilateurs acceptent les deux ; le choix est purement stylistique |
| Publié | C++ created 1983 (Bell Labs); standardized ISO C++98 (1998); latest C++23. The .cc extension is a long-standing C++ convention (notably GNU and Google style) |
| Dernière version | ISO/IEC 14882:2023 (C++23) |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.iso.org |
Conversions CC
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers CC.