¿Qué es el formato de archivo CC?
Un archivo .cc es un archivo de código fuente de C++ en texto plano. Contiene código C++ legible por humanos, incluyendo directivas de preprocesador como #include y #define, declaraciones de espacios de nombres (namespaces), definiciones de clases y cuerpos de funciones. La extensión .cc es funcionalmente idéntica a .cpp -ambas contienen código fuente de C++- pero .cc es la convención preferida por la cadena de herramientas de GNU y la Guía de Estilo de C++ de Google, mientras que .cpp es el estándar en proyectos de Windows y Visual Studio.
Para producir un programa ejecutable, un archivo .cc debe ser compilado. En Linux y macOS, los comandos típicos son g++ file.cc -o output o clang++ file.cc -o output. En Windows, MSVC (cl.exe) y MinGW-w64 también aceptan archivos .cc, aunque allí .cpp es más común por convención.
El archivo es texto puro en ASCII o UTF-8 sin firma binaria ni «magic bytes». Un BOM de UTF-8 opcional (EF BB BF) puede aparecer en el desplazamiento 0, pero rara vez se usa y no es obligatorio. Los archivos suelen comenzar con bloques de comentarios, directivas #include (por ejemplo, #include <iostream>) y luego definiciones de clases o funciones.
El estándar del lenguaje C++ al que se dirige el código -C++11, C++17, C++20 o C++23- se selecciona en el momento de la compilación mediante una bandera como --std=c++23, no está incrustado en el propio archivo .cc. Las declaraciones asociadas suelen mantenerse en un archivo de cabecera (header) emparejado .hh o .hpp. La compilación produce un archivo de objeto .o (Linux/macOS) o .obj (Windows), que luego se vincula en un ejecutable final o biblioteca.
Seguridad y protección
RIESGO: LOWUn archivo .cc es texto plano y no puede ejecutarse por sí solo, por lo que abrir uno en un editor es seguro. El riesgo aparece solo cuando se COMPILA y EJECUTA código C++ desconocido: el código fuente de un origen no confiable puede hacer cualquier cosa que un programa pueda hacer una vez construido (borrar archivos, acceso a la red, instalar malware), y la naturaleza de bajo nivel de C++ hace que el código malicioso o con errores sea fácil de ocultar. Lea el código antes de compilarlo, construya código no confiable en un entorno aislado/VM y nunca ejecute un binario compilado en el que no confíe. La extensión en sí no conlleva ningún exploit; el peligro reside en lo que hace el código después de la compilación.
Detalles del formato
en pocas palabras- Escena de Cult3D Designer (legado) - Cult3D de Cycore utilizaba .cc como una escena 3D interactiva exportada; la cadena de herramientas está descontinuada hace mucho tiempo y el significado de fuente de C++ predomina hoy en día.
- Convención GNU/Unix C++ vs .cpp - Tanto .cc como .cpp denotan fuente de C++; .cc es el preferido por las guías de estilo de GNU y Google, .cpp por Windows/Visual Studio - mismo lenguaje, diferente convención.
Programas que abren archivos CC
Detalles técnicos
especificación profunda| Tipo MIME | text/x-c++src (también aceptado: text/x-c++, text/plain) |
| Codificación de archivo | Texto plano - ASCII o UTF-8; BOM de UTF-8 opcional (EF BB BF) en el desplazamiento 0 |
| Firma binaria (magic bytes) | Ninguna - archivo de texto plano sin secuencia de bytes fija; identificado por la extensión o patrones de contenido |
| Tamaño típico del archivo | De unos pocos KB a decenas de KB por archivo fuente; las bases de código grandes pueden tener archivos individuales que alcanzan cientos de KB |
| Finales de línea | LF (convención de Unix/Linux/macOS) o CRLF (Windows) |
| Requiere compilación | Sí - un archivo .cc es solo fuente; debe compilarse con g++, clang++ o MSVC antes de poder ejecutarse |
| Compiladores comunes | GCC (g++), Clang (clang++), MSVC (cl.exe), MinGW-w64 |
| Estándares de C++ de destino | C++98 hasta C++23; estándar seleccionado por bandera del compilador (ej. -std=c++17 o /std:c++20), no almacenado en el archivo |
| Convención de extensión | Preferida por la cadena de herramientas de GNU y la Guía de Estilo de C++ de Google; .cpp es la convención de Windows / Visual Studio para contenido idéntico |
| Directivas de preprocesador | #include, #define, #ifdef/#ifndef, #pragma y otras directivas de preprocesador de C suelen aparecer en la parte superior del archivo |
| Archivos de cabecera asociados | Emparejado con cabeceras .hh o .hpp; el archivo de implementación .cc incorpora declaraciones mediante #include |
| Resultado de la compilación | Compilado a un archivo de objeto .o (Linux/macOS) o .obj (Windows); posteriormente vinculado en un ejecutable o biblioteca estática/compartida |
| Características del lenguaje soportadas | Clases, plantillas, excepciones, contenedores STL, RAII, expresiones lambda, constexpr y conceptos (C++20+) |
| Integración con sistemas de construcción | Listado como fuente en archivos Makefile, CMakeLists.txt (CMake), BUILD (Bazel) o meson.build |
| Intercambiabilidad con .cpp | .cc y .cpp son extensiones de fuente de C++ funcionalmente idénticas; la mayoría de los compiladores aceptan ambas; la elección es puramente estilística |
| Lanzado | 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) |
| Última versión | ISO/IEC 14882:2023 (C++23) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.iso.org |
Conversiones de CC
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos CC.