Hva er CC-filformatet?
En .cc-fil er en C++ kildekodefil i ren tekst. Den inneholder menneskelig lesbar C++-kode, inkludert preprosessor-direktiver som #include og #define, navnerom-deklarasjoner, klassedefinisjoner og funksjonskropper. Filendelsen .cc er funksjonelt identisk med .cpp - begge inneholder C++ kildekode - men .cc er konvensjonen som foretrekkes av GNU-verktøykjeden og Googles C++ Style Guide, mens .cpp er standard i Windows- og Visual Studio-prosjekter.
For å produsere et kjørbart program må en .cc-fil kompileres. På Linux og macOS er de typiske kommandoene g++ file.cc -o output eller clang++ file.cc -o output. På Windows aksepterer også MSVC (cl.exe) og MinGW-w64 .cc-filer, selv om .cpp er mer vanlig der av konvensjon.
Filen er ren ASCII- eller UTF-8-tekst uten binær signatur eller «magic bytes». En valgfri UTF-8 BOM (EF BB BF) kan forekomme ved offset 0, men er sjelden brukt og ikke påkrevd. Filer åpnes vanligvis med kommentarblokker, #include-direktiver (f.eks. #include <iostream>), og deretter klasse- eller funksjonsdefinisjoner.
C++-språkstandarden koden er rettet mot - C++11, C++17, C++20 eller C++23 - velges ved kompilering via et flagg som --std=c++23, ikke innebygd i selve .cc-filen. Tilhørende deklarasjoner holdes vanligvis i en parret .hh eller .hpp header-fil. Kompilering produserer en .o objektfil (Linux/macOS) eller .obj (Windows), som deretter lenkes til en endelig kjørbar fil eller et bibliotek.
Sikkerhet og trygghet
RISIKO: LOWEn .cc-fil er ren tekst og kan ikke kjøres alene, så det er trygt å åpne en i et redigeringsprogram. Risikoen oppstår først når du KOMPILERER og KJØRER ukjent C++-kode: kildekode fra en upålitelig kilde kan gjøre alt et program kan når det først er bygget (slette filer, nettverkstilgang, installere skadevare), og C++ sin lavnivå-natur gjør det enkelt å skjule ondsinnet eller feilaktig kode. Les koden før du kompilerer den, bygg upålitelig kode i en sandkasse/VM, og kjør aldri en kompilert binærfil du ikke stoler på. Selve filendelsen inneholder ingen sårbarhet - faren ligger i hva koden gjør etter kompilering.
Formatdetaljer
i et nøtteskall- Cult3D Designer-scene (foreldet) - Cycores Cult3D brukte .cc som en eksportert interaktiv 3D-scene; verktøykjeden er for lengst avviklet og betydningen som C++ kildekode dominerer i dag.
- GNU/Unix C++ konvensjon vs .cpp - Både .cc og .cpp betegner C++ kildekode; .cc foretrekkes av GNU og Googles stilguider, .cpp av Windows/Visual Studio - samme språk, ulik konvensjon.
Programmer som åpner CC-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | text/x-c++src (også akseptert: text/x-c++, text/plain) |
| Filkoding | Ren tekst - ASCII eller UTF-8; valgfri UTF-8 BOM (EF BB BF) ved offset 0 |
| Binær signatur (magic bytes) | Ingen - ren tekstfil uten fast bytesekvens; identifiseres av filendelse eller innholdsmønstre |
| Typisk filstørrelse | Noen få KB til titalls KB per kildekodefil; store kodebaser kan ha enkeltfiler som når hundrevis av KB |
| Linjeslutt | LF (Unix/Linux/macOS-konvensjon) eller CRLF (Windows) |
| Kompilering påkrevd | Ja - en .cc-fil er kun kildekode; må kompileres med g++, clang++ eller MSVC før den kan kjøres |
| Vanlige kompilatorer | GCC (g++), Clang (clang++), MSVC (cl.exe), MinGW-w64 |
| C++ standardmål | C++98 til C++23; standard velges med kompilatorflagg (f.eks. -std=c++17 eller /std:c++20), ikke lagret i filen |
| Konvensjon for filendelse | Foretrukket av GNU-verktøykjeden og Googles C++ Style Guide; .cpp er Windows / Visual Studio-konvensjonen for identisk innhold |
| Preprosessor-direktiver | #include, #define, #ifdef/#ifndef, #pragma og andre C-preprosessor-direktiver vises vanligvis øverst i filen |
| Tilhørende header-filer | Parret med .hh eller .hpp headere; .cc-implementasjonsfilen henter inn deklarasjoner via #include |
| Kompilert utdata | Kompilert til en .o objektfil (Linux/macOS) eller .obj (Windows); deretter lenket til en kjørbar fil eller et statisk/delt bibliotek |
| Språkfunksjoner som støttes | Klasser, maler (templates), unntak, STL-containere, RAII, lambda-uttrykk, constexpr og concepts (C++20+) |
| Integrasjon i byggesystem | Oppført som kilde i Makefile, CMakeLists.txt (CMake), BUILD (Bazel) eller meson.build-filer |
| Utskiftbarhet med .cpp | .cc og .cpp er funksjonelt identiske C++ kildekode-endelser; de fleste kompilatorer aksepterer begge; valget er rent stilistisk |
| Utgitt | 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) |
| Siste versjon | ISO/IEC 14882:2023 (C++23) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.iso.org |
CC-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om CC-filer.