Vad är filformatet CC?
En .cc-fil är en källkodsfil för C++ i klartext. Den innehåller läsbar C++-kod, inklusive preprocessordirektiv som #include och #define, namnrymdsdeklarationer, klassdefinitioner och funktionskroppar. Filändelsen .cc är funktionellt identisk med .cpp - båda innehåller C++-källkod - men .cc är den konvention som föredras av GNU-verktygskedjan och Googles C++ Style Guide, medan .cpp är standard i Windows- och Visual Studio-projekt.
För att skapa ett körbart program måste en .cc-fil kompileras. På Linux och macOS är de typiska kommandona g++ file.cc -o output eller clang++ file.cc -o output. På Windows accepterar även MSVC (cl.exe) och MinGW-w64 .cc-filer, även om .cpp är vanligare där enligt konvention.
Filen är ren ASCII- eller UTF-8-text utan binär signatur eller magic bytes. En valfri UTF-8 BOM (EF BB BF) kan förekomma vid offset 0 men används sällan och krävs inte. Filer öppnas vanligtvis med kommentarsblock, #include-direktiv (t.ex. #include <iostream>) och därefter klass- eller funktionsdefinitioner.
Den C++-språkstandard som koden riktar sig mot - C++11, C++17, C++20 eller C++23 - väljs vid kompileringstillfället via en flagga som --std=c++23, och är inte inbäddad i själva .cc-filen. Tillhörande deklarationer hålls vanligtvis i en parad .hh eller .hpp header-fil. Kompilering skapar en .o-objektfil (Linux/macOS) eller .obj (Windows), som sedan länkas till en slutgiltig körbar fil eller ett bibliotek.
Säkerhet & trygghet
RISK: LOWEn .cc-fil är klartext och kan inte köras på egen hand, så det är säkert att öppna en i en redigerare. Risken uppstår först när du KOMPILERAR och KÖR okänd C++-kod: källkod från en otillförlitlig källa kan göra allt ett program kan när det väl är byggt (radera filer, nätverksåtkomst, installera skadlig kod), och C++-språkets lågnivåkaraktär gör det lätt att dölja skadlig eller felaktig kod. Läs koden innan du kompilerar den, bygg okänd kod i en sandlåda/VM och kör aldrig en kompilerad binär som du inte litar på. Själva filändelsen bär inte på några sårbarheter - faran ligger i vad koden gör efter kompilering.
Formatdetaljer
i ett nötskal- Cult3D Designer-scen (legacy) - Cycores Cult3D använde .cc som en exporterad interaktiv 3D-scen; verktygskedjan är sedan länge nedlagd och betydelsen som C++-källkod dominerar idag.
- GNU/Unix C++-konvention vs .cpp - Både .cc och .cpp betecknar C++-källkod; .cc föredras av GNU och Googles stilguider, .cpp av Windows/Visual Studio - samma språk, olika konventioner.
Program som öppnar CC-filer
Tekniska detaljer
djup specifikation| MIME-typ | text/x-c++src (även accepterat: text/x-c++, text/plain) |
| Filkodning | Klartext - ASCII eller UTF-8; valfri UTF-8 BOM (EF BB BF) vid offset 0 |
| Binär signatur (magic bytes) | Ingen - klartextfil utan fast bytesekvens; identifieras via filändelse eller innehållsmönster |
| Typisk filstorlek | Några KB till tiotals KB per källkodsfil; stora kodbaser kan ha enskilda filer som når hundratals KB |
| Radbrytningar | LF (Unix/Linux/macOS-konvention) eller CRLF (Windows) |
| Kompilering krävs | Ja - en .cc-fil är endast källkod; måste kompileras med g++, clang++ eller MSVC innan den kan köras |
| Vanliga kompilatorer | GCC (g++), Clang (clang++), MSVC (cl.exe), MinGW-w64 |
| C++-standardmål | C++98 till C++23; standard väljs via kompilatorflagga (t.ex. -std=c++17 eller /std:c++20), lagras inte i filen |
| Konvention för filändelse | Föredras av GNU-verktygskedjan och Googles C++ Style Guide; .cpp är Windows / Visual Studio-konventionen för identiskt innehåll |
| Preprocessordirektiv | #include, #define, #ifdef/#ifndef, #pragma och andra C-preprocessordirektiv visas vanligtvis högst upp i filen |
| Associerade header-filer | Parad med .hh- eller .hpp-headers; .cc-implementationsfilen hämtar in deklarationer via #include |
| Kompilerad utdata | Kompileras till en .o-objektfil (Linux/macOS) eller .obj (Windows); länkas därefter till en körbar fil eller ett statiskt/delat bibliotek |
| Språkfunktioner som stöds | Klasser, mallar, undantag, STL-behållare, RAII, lambda-uttryck, constexpr och concepts (C++20+) |
| Integrering i byggsystem | Listas som källkod i Makefile, CMakeLists.txt (CMake), BUILD (Bazel) eller meson.build-filer |
| Utbytbarhet med .cpp | .cc och .cpp är funktionellt identiska filändelser för C++-källkod; de flesta kompilatorer accepterar båda; valet är rent stilistiskt |
| Släppt | 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) |
| Senaste version | ISO/IEC 14882:2023 (C++23) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.iso.org |
CC-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om CC-filer.