Co to jest format pliku CC?
Plik .cc to plik kodu źródłowego C++ w formacie czystego tekstu. Zawiera on czytelny dla człowieka kod C++, w tym dyrektywy preprocesora, takie jak #include i #define, deklaracje przestrzeni nazw, definicje klas oraz ciała funkcji. Rozszerzenie .cc jest funkcjonalnie identyczne z .cpp - oba przechowują kod źródłowy C++ - ale .cc jest konwencją preferowaną przez narzędzia GNU oraz Google's C++ Style Guide, podczas gdy .cpp jest standardem w projektach Windows i Visual Studio.
Aby wytworzyć program wykonywalny, plik .cc musi zostać skompilowany. W systemach Linux i macOS typowymi poleceniami są g++ file.cc -o output lub clang++ file.cc -o output. W systemie Windows MSVC (cl.exe) oraz MinGW-w64 również akceptują pliki .cc, choć zgodnie z konwencją częściej stosuje się tam .cpp.
Plik jest czystym tekstem ASCII lub UTF-8 bez sygnatury binarnej ani magicznych bajtów. Opcjonalny znacznik UTF-8 BOM (EF BB BF) może pojawić się na offsetcie 0, ale jest rzadko używany i niewymagany. Pliki zazwyczaj zaczynają się od bloków komentarzy, dyrektyw #include (np. #include <iostream>), a następnie definicji klas lub funkcji.
Standard języka C++, w którym napisany jest kod - C++11, C++17, C++20 lub C++23 - jest wybierany w czasie kompilacji za pomocą flagi takiej jak --std=c++23, a nie osadzony w samym pliku .cc. Powiązane deklaracje są zazwyczaj przechowywane w sparowanym pliku nagłówkowym .hh lub .hpp. Kompilacja generuje plik obiektowy .o (Linux/macOS) lub .obj (Windows), który jest następnie łączony w końcowy plik wykonywalny lub bibliotekę.
Bezpieczeństwo
RYZYKO: LOWPlik .cc jest czystym tekstem i nie może uruchomić się samoczynnie, więc otwarcie go w edytorze jest bezpieczne. Ryzyko pojawia się dopiero przy KOMPILACJI i URUCHOMIENIU nieznanego kodu C++: źródło z niezaufanego pochodzenia może po zbudowaniu zrobić wszystko, co potrafi program (usuwanie plików, dostęp do sieci, instalacja złośliwego oprogramowania), a niskopoziomowa natura C++ ułatwia ukrycie złośliwego lub błędnego kodu. Przeczytaj kod przed kompilacją, buduj niezaufany kod w piaskownicy/VM i nigdy nie uruchamiaj skompilowanego pliku binarnego, któremu nie ufasz. Samo rozszerzenie nie niesie ze sobą exploita - niebezpieczeństwo tkwi w tym, co kod robi po skompilowaniu.
Szczegóły formatu
w pigułce- Scena Cult3D Designer (legacy) - Cycore Cult3D używał .cc jako wyeksportowanej interaktywnej sceny 3D; te narzędzia są od dawna nieużywane, a znaczenie jako źródło C++ dominuje dzisiaj.
- Konwencja GNU/Unix C++ vs .cpp - Zarówno .cc, jak i .cpp oznaczają źródło C++; .cc jest preferowane przez przewodniki stylu GNU i Google, .cpp przez Windows/Visual Studio - ten sam język, inna konwencja.
Programy otwierające pliki CC
Szczegóły techniczne
specyfikacja| Typ MIME | text/x-c++src (akceptowane również: text/x-c++, text/plain) |
| Kodowanie pliku | Czysty tekst - ASCII lub UTF-8; opcjonalny UTF-8 BOM (EF BB BF) na offsetcie 0 |
| Sygnatura binarna (magiczne bajty) | Brak - plik tekstowy bez stałej sekwencji bajtów; identyfikowany po rozszerzeniu lub wzorcach treści |
| Typowy rozmiar pliku | Od kilku KB do kilkudziesięciu KB na plik źródłowy; duże bazy kodu mogą mieć pojedyncze pliki sięgające setek KB |
| Zakończenia linii | LF (konwencja Unix/Linux/macOS) lub CRLF (Windows) |
| Wymagana kompilacja | Tak - plik .cc to tylko źródło; musi zostać skompilowany za pomocą g++, clang++ lub MSVC przed wykonaniem |
| Popularne kompilatory | GCC (g++), Clang (clang++), MSVC (cl.exe), MinGW-w64 |
| Docelowe standardy C++ | Od C++98 do C++23; standard wybierany flagą kompilatora (np. -std=c++17 lub /std:c++20), nie jest zapisany w pliku |
| Konwencja rozszerzenia | Preferowana przez narzędzia GNU i Google C++ Style Guide; .cpp to konwencja Windows / Visual Studio dla identycznej treści |
| Dyrektywy preprocesora | #include, #define, #ifdef/#ifndef, #pragma i inne dyrektywy preprocesora C zazwyczaj pojawiają się na górze pliku |
| Powiązane pliki nagłówkowe | Parowane z nagłówkami .hh lub .hpp; plik implementacji .cc pobiera deklaracje poprzez #include |
| Wynik kompilacji | Kompilowany do pliku obiektowego .o (Linux/macOS) lub .obj (Windows); następnie łączony w plik wykonywalny lub bibliotekę statyczną/dynamiczną |
| Obsługiwane funkcje języka | Klasy, szablony, wyjątki, kontenery STL, RAII, wyrażenia lambda, constexpr oraz koncepty (C++20+) |
| Integracja z systemem budowania | Wymieniony jako źródło w plikach Makefile, CMakeLists.txt (CMake), BUILD (Bazel) lub meson.build |
| Zamienność z .cpp | .cc i .cpp są funkcjonalnie identycznymi rozszerzeniami źródeł C++; większość kompilatorów akceptuje oba; wybór jest czysto stylistyczny |
| Wydano | 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) |
| Najnowsza wersja | ISO/IEC 14882:2023 (C++23) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.iso.org |
Konwersje CC
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CC.