Qu'est-ce que le format de fichier CPP ?
Les fichiers .cpp contiennent du code source écrit en C++, un langage de programmation polyvalent créé par Bjarne Stroustrup aux Bell Labs au début des années 1980. L'extension .cpp signifie « C plus plus » - des conventions alternatives telles que .cc et .cxx désignent le même type de fichier source selon les différentes traditions de chaînes d'outils.
Contenu des fichiers .cpp
Les fichiers avec une extension .cpp peuvent contenir des éléments tels que :
- des déclarations de variables et de types,
- des déclarations et définitions de fonctions,
- des déclarations de classes et des implémentations de fonctions membres,
- des directives de préprocesseur (par ex.
#include <iostream>,#define), - des références à des bibliothèques système et à des fichiers d'en-tête
.hou.hpp, - des commentaires pour une meilleure lisibilité du code - ceux-ci sont omis lors de la compilation.
Un fichier .cpp est-il un programme ?
Les fichiers .cpp contiennent le code source d'un programme écrit en C++, mais pour exécuter de telles applications, le code source doit être compilé. Un compilateur - tel que g++, clang++ ou MSVC - prend le code source et le traduit en code machine que l'ordinateur peut exécuter directement. Seul le résultat compilé peut être appelé un programme ; le fichier .cpp lui-même n'est que du texte. Un projet compile généralement plusieurs fichiers .cpp et les lie ensemble pour produire un exécutable final.
Puis-je ouvrir un fichier .cpp ?
Les fichiers .cpp ne sont rien de plus que des fichiers texte brut et peuvent être modifiés à l'aide de n'importe quel éditeur de texte. Cependant, les modifier nécessite une connaissance de la syntaxe C++ pour éviter les erreurs qui pourraient empêcher la compilation ou provoquer un fonctionnement incorrect du programme. Pour cette raison, la modification des fichiers .cpp se fait de préférence à l'aide d'outils dédiés offrant des fonctionnalités utiles telles que :
- la numérotation automatique des lignes,
- la coloration syntaxique,
- la complétion de code et les indices,
- les notifications d'erreurs de syntaxe (parenthèses fermantes manquantes, points-virgules, etc.),
- la prise en charge intégrée de la construction et du débogueur.
Les environnements populaires incluent Microsoft Visual Studio, VS Code et Apple Xcode. Le fichier .cpp lui-même ne contient aucune information de version intégrée - le standard C++ cible (de C++98 à C++23) est choisi au moment de la compilation via des drapeaux de compilation.
Sécurité et sûreté
RISQUE : LOWUn fichier .cpp est du texte brut et ne peut pas s'exécuter seul, 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 provenant d'une origine non fiable peut faire tout ce qu'un programme peut faire une fois construit (supprimer des fichiers, accès réseau, installer des logiciels malveillants), et l'accès de bas niveau du C++ rend le code malveillant ou bogué facile à cacher. Lisez le code avant de le compiler, construisez le code non fiable dans un bac à sable/VM, et n'exécutez jamais un binaire compilé en lequel vous n'avez pas confiance. L'extension de fichier 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- Source C++ (extensions alternatives) - Le même rôle de source C++ est également assuré par .cc, .cxx, .c++ et .C (majuscule) ; .cpp est la convention dominante sur Windows et en multiplateforme.
Programmes qui ouvrent les fichiers CPP
Détails techniques
spécifications approfondies| Type MIME | text/x-c++src (également acceptés : text/x-c++ et text/plain) |
| Encodage du fichier | Texte brut - ASCII ou UTF-8 ; un BOM UTF-8 (EF BB BF) à l'offset 0 est accepté mais non requis |
| Signature de fichier / octets magiques | Aucune - identifié par le contenu : s'ouvre généralement par des commentaires // ou /* */, des directives #include ou des définitions de classes/fonctions |
| Structure du fichier | Directives de préprocesseur (#include, #define, #if), déclarations using/namespace, définitions de classes et de fonctions, et le point d'entrée main() |
| Compilation requise | Oui - doit être compilé par g++, clang++ ou MSVC ; le fichier .cpp est un texte source lisible par l'homme, pas un exécutable |
| Standards de langage cibles | C++98, C++03, C++11, C++14, C++17, C++20, C++23 ; le standard est sélectionné via un drapeau de compilation (par ex., -std=c++17) et n'est pas stocké dans le fichier |
| Étape de préprocesseur | Avant la compilation, le préprocesseur C développe les directives #include, les macros #define et les blocs de compilation conditionnelle (#if / #endif) |
| Types de fichiers compagnons | .h et .hpp (déclarations d'en-tête), .cc et .cxx (extensions sources C++ alternatives), .o / .obj (sortie de fichier objet compilé) |
| Résultat de la compilation | Un fichier objet (.o sur Linux/macOS, .obj sur Windows) que l'éditeur de liens combine avec d'autres objets dans un exécutable ou une bibliothèque partagée |
| Taille typique du fichier | De quelques Ko à des dizaines de Ko par fichier source ; les fichiers générés par machine ou utilisant massivement des modèles peuvent dépasser 1 Mo |
| Support Unicode / caractères | Les littéraux de chaîne et les identifiants prennent en charge Unicode (UTF-8) à partir de C++11 ; les préfixes de littéraux de chaîne u8, u et U permettent un contrôle explicite de l'encodage |
| Fins de ligne | Indépendant de la plateforme - LF (Unix/macOS), CRLF (Windows) et CR sont tous acceptés par les principaux compilateurs |
| Systèmes d'exploitation associés | Windows, macOS, Linux - et toute plateforme disposant d'une chaîne d'outils de compilation C++ conforme |
| Organisme de normalisation | ISO/IEC JTC1/SC22/WG21 (le comité des standards C++) ; les standards sont publiés sous forme de révisions ISO/IEC 14882 environ tous les 3 ans |
| Convention de nommage des fichiers | Correspond généralement à la classe ou au module qu'il implémente - par ex., MyClass.cpp associé à MyClass.h ou MyClass.hpp |
| Signification du nom de l'extension | Les lettres « pp » signifient « plus plus » ; un contenu source C++ identique peut alternativement utiliser .cc ou .cxx selon la convention de la chaîne d'outils |
| Publié | C++ language created 1979-1985 (Bjarne Stroustrup, Bell Labs); first ISO standard C++98 (1998) |
| Dernière version | ISO/IEC 14882:2024 (C++23); C++26 in progress |
| Standard ouvert | Oui · libre de droits |
| Spécification | isocpp.org |
Conversions CPP
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers CPP.