Hvad er CC-filformatet?
En .cc fil er en C++ kildekodefil i almindelig tekst. Den indeholder menneskelæsbar C++ kode, herunder præprocessor-direktiver såsom #include og #define, namespace-erklæringer, klassedefinitioner og funktionskroppe. Filendelsen .cc er funktionelt identisk med .cpp - begge indeholder C++ kildekode - men .cc er den konvention, der foretrækkes af GNU-værktøjskæden og Googles C++ Style Guide, mens .cpp er standard i Windows- og Visual Studio-projekter.
For at producere et kørbart program skal en .cc fil kompileres. På Linux og macOS er de typiske kommandoer g++ file.cc -o output eller clang++ file.cc -o output. På Windows accepterer MSVC (cl.exe) og MinGW-w64 også .cc filer, selvom .cpp er mere almindelig dér af konvention.
Filen er ren ASCII eller UTF-8 tekst uden binær signatur eller magic bytes. En valgfri UTF-8 BOM (EF BB BF) kan forekomme ved offset 0, men bruges sjældent og er ikke påkrævet. Filer åbnes typisk med kommentarblokke, #include direktiver (f.eks. #include <iostream>) og derefter klasse- eller funktionsdefinitioner.
C++ sprogstandarden, som koden er målrettet mod - C++11, C++17, C++20 eller C++23 - vælges ved kompilering via et flag såsom --std=c++23, og er ikke indlejret i selve .cc filen. Tilhørende erklæringer opbevares normalt i en parret .hh eller .hpp header-fil. Kompilering producerer en .o objektfil (Linux/macOS) eller .obj (Windows), som derefter linkes til en endelig eksekverbar fil eller et bibliotek.
Sikkerhed og tryghed
RISIKO: LOWEn .cc fil er almindelig tekst og kan ikke køre af sig selv, så det er sikkert at åbne en i en editor. Risikoen opstår kun, når du KOMPILERER og KØRER ukendt C++ kode: kildekode fra en utroværdig kilde kan gøre alt, hvad et program kan, når det først er bygget (slette filer, netværksadgang, installere malware), og C++'s lavniveaunatur gør det let at skjule ondsindet eller fejlbehæftet kode. Læs koden før kompilering, byg utroværdig kode i en sandbox/VM, og kør aldrig en kompileret binær fil, du ikke stoler på. Selve filendelsen indeholder ingen sårbarhed - faren ligger i, hvad koden gør efter kompilering.
Formatdetaljer
kort fortalt- Cult3D Designer scene (legacy) - Cycores Cult3D brugte .cc som en eksporteret interaktiv 3D-scene; værktøjskæden er for længst udgået, og betydningen som C++ kildekode dominerer i dag.
- GNU/Unix C++ konvention vs .cpp - Både .cc og .cpp betegner C++ kildekode; .cc foretrækkes af GNU og Googles stilvejledninger, .cpp af Windows/Visual Studio - samme sprog, forskellig konvention.
Programmer der åbner CC-filer
Tekniske detaljer
dyb specifikation| MIME-type | text/x-c++src (også accepteret: text/x-c++, text/plain) |
| Filkodning | Almindelig tekst - ASCII eller UTF-8; valgfri UTF-8 BOM (EF BB BF) ved offset 0 |
| Binær signatur (magic bytes) | Ingen - almindelig tekstfil uden fast bytesekvens; identificeres ved filendelse eller indholdsmønstre |
| Typisk filstørrelse | Få KB til titusindvis af KB pr. kildekodefil; store kodebaser kan have enkelte filer, der når hundreder af KB |
| Linjeskift | LF (Unix/Linux/macOS konvention) eller CRLF (Windows) |
| Kompilering påkrævet | Ja - en .cc fil er kun kildekode; skal kompileres med g++, clang++ eller MSVC, før den kan eksekveres |
| Almindelige compilere | GCC (g++), Clang (clang++), MSVC (cl.exe), MinGW-w64 |
| C++ standardmål | C++98 til C++23; standard vælges via compiler-flag (f.eks. -std=c++17 eller /std:c++20), ikke gemt i filen |
| Konvention for filendelse | Foretrukket af GNU-værktøjskæden og Googles C++ Style Guide; .cpp er Windows / Visual Studio-konventionen for identisk indhold |
| Præprocessor-direktiver | #include, #define, #ifdef/#ifndef, #pragma og andre C-præprocessor-direktiver optræder typisk øverst i filen |
| Tilhørende header-filer | Parret med .hh eller .hpp headere; .cc implementeringsfilen henter erklæringer ind via #include |
| Kompileret output | Kompileret til en .o objektfil (Linux/macOS) eller .obj (Windows); efterfølgende linket til en eksekverbar fil eller et statisk/delt bibliotek |
| Understøttede sprogfunktioner | Klasser, skabeloner, undtagelser, STL-containere, RAII, lambda-udtryk, constexpr og concepts (C++20+) |
| Integration med byggesystemer | Angivet som kilde i Makefile, CMakeLists.txt (CMake), BUILD (Bazel) eller meson.build filer |
| Udskiftelighed med .cpp | .cc og .cpp er funktionelt identiske C++ kildekode-filendelser; de fleste compilere accepterer begge; valget er rent stilistisk |
| Udgivet | 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) |
| Seneste version | ISO/IEC 14882:2023 (C++23) |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.iso.org |
CC-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om CC-filer.