O que é o formato de ficheiro CC?
Um arquivo .cc é um arquivo de código-fonte C++ em texto simples. Ele contém código C++ legível por humanos, incluindo diretivas de pré-processador como #include e #define, declarações de namespace, definições de classe e corpos de função. A extensão .cc é funcionalmente idêntica a .cpp - ambos contêm código-fonte C++ - mas .cc é a convenção preferida pelo toolchain GNU e pelo Guia de Estilo C++ do Google, enquanto .cpp é o padrão em projetos Windows e Visual Studio.
Para produzir um programa executável, um arquivo .cc deve ser compilado. No Linux e macOS, os comandos típicos são g++ arquivo.cc -o saida ou clang++ arquivo.cc -o saida. No Windows, o MSVC (cl.exe) e o MinGW-w64 também aceitam arquivos .cc, embora .cpp seja mais comum lá por convenção.
O arquivo é texto puro ASCII ou UTF-8 sem assinatura binária ou magic bytes. Um BOM UTF-8 opcional (EF BB BF) pode aparecer no deslocamento 0, mas é raramente usado e não obrigatório. Os arquivos geralmente abrem com blocos de comentários, diretivas #include (ex: #include <iostream>) e, em seguida, definições de classes ou funções.
O padrão da linguagem C++ visado pelo código - C++11, C++17, C++20 ou C++23 - é selecionado em tempo de compilação via uma flag como --std=c++23, não embutido no próprio arquivo .cc. As declarações associadas são geralmente mantidas em um arquivo de cabeçalho pareado .hh ou .hpp. A compilação produz um arquivo de objeto .o (Linux/macOS) ou .obj (Windows), que é então vinculado a um executável final ou biblioteca.
Segurança e proteção
RISCO: LOWUm arquivo .cc é texto simples e não pode ser executado por conta própria, portanto, abrir um em um editor é seguro. O risco surge apenas quando você COMPILA e EXECUTA código C++ desconhecido: fontes de origem não confiável podem fazer qualquer coisa que um programa faz após compilado (excluir arquivos, acesso à rede, instalar malware), e a natureza de baixo nível do C++ torna fácil esconder código malicioso ou bugado. Leia o código antes de compilá-lo, compile código não confiável em um sandbox/VM e nunca execute um binário compilado em que você não confia. A extensão em si não carrega exploits - o perigo está no que o código faz após a compilação.
Detalhes do formato
em resumo- Cena Cult3D Designer (legado) - O Cult3D da Cycore usava .cc como uma cena 3D interativa exportada; o toolchain foi descontinuado há muito tempo e o significado de fonte C++ domina hoje.
- Convenção GNU/Unix C++ vs .cpp - Tanto .cc quanto .cpp denotam fonte C++; .cc é preferido pelos guias de estilo GNU e Google, .cpp pelo Windows/Visual Studio - mesma linguagem, convenção diferente.
Programas que abrem arquivos CC
Detalhes técnicos
especificação profunda| Tipo MIME | text/x-c++src (também aceito: text/x-c++, text/plain) |
| Codificação do arquivo | Texto simples - ASCII ou UTF-8; BOM UTF-8 opcional (EF BB BF) no deslocamento 0 |
| Assinatura binária (magic bytes) | Nenhuma - arquivo de texto simples sem sequência de bytes fixa; identificado pela extensão ou padrões de conteúdo |
| Tamanho típico do arquivo | De alguns KB a dezenas de KB por arquivo fonte; bases de código grandes podem ter arquivos individuais chegando a centenas de KB |
| Finais de linha | LF (convenção Unix/Linux/macOS) ou CRLF (Windows) |
| Compilação necessária | Sim - um arquivo .cc é apenas fonte; deve ser compilado com g++, clang++ ou MSVC antes de ser executado |
| Compiladores comuns | GCC (g++), Clang (clang++), MSVC (cl.exe), MinGW-w64 |
| Padrões C++ visados | C++98 até C++23; padrão selecionado por flag do compilador (ex: -std=c++17 ou /std:c++20), não armazenado no arquivo |
| Convenção de extensão | Preferida pelo toolchain GNU e Guia de Estilo C++ do Google; .cpp é a convenção Windows / Visual Studio para conteúdo idêntico |
| Diretivas de pré-processador | #include, #define, #ifdef/#ifndef, #pragma e outras diretivas de pré-processador C geralmente aparecem no topo do arquivo |
| Arquivos de cabeçalho associados | Pareado com cabeçalhos .hh ou .hpp; o arquivo de implementação .cc importa declarações via #include |
| Saída compilada | Compilado para um arquivo de objeto .o (Linux/macOS) ou .obj (Windows); posteriormente vinculado a um executável ou biblioteca estática/compartilhada |
| Recursos de linguagem suportados | Classes, templates, exceções, containers STL, RAII, expressões lambda, constexpr e concepts (C++20+) |
| Integração com sistema de build | Listado como fonte em arquivos Makefile, CMakeLists.txt (CMake), BUILD (Bazel) ou meson.build |
| Intercambialidade com .cpp | .cc e .cpp são extensões de fonte C++ funcionalmente idênticas; a maioria dos compiladores aceita ambas; a escolha é puramente estilística |
| Lançado | 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) |
| Versão mais recente | ISO/IEC 14882:2023 (C++23) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.iso.org |
Conversões de CC
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos CC.