Что такое формат файла CXX?
Файл .cxx - это файл исходного кода C++, представляющий собой обычный текст, содержащий компилируемый исходный код на языке C++. Это одно из нескольких общепризнанных расширений исходного кода наряду с .cpp, .cc и .c++, которые идентично обрабатываются компиляторами.
Файл содержит директивы препроцессора (#include, #define, #ifdef), определения классов и функций, специализации шаблонов и (в исполняемой программе) точку входа main(). Кодировка - обычный ASCII или UTF-8; в начале может присутствовать необязательный маркер последовательности байтов UTF-8 BOM (EF BB BF), но он не является обязательным.
Имя .cxx - это соглашение о написании: буква x дважды заменяет +, создавая ASCII-безопасную альтернативу расширению .c++. Это предпочтительное расширение в определенных кодовых базах для научных расчетов и визуализации - в частности, VTK, ITK и некоторых проектах, активно использующих CMake - и оно было распространено в ранних инструментариях C++ для Unix.
Все основные компиляторы распознают .cxx нативно:
- GCC (
g++) и Clang обрабатывают его как C++ без дополнительных флагов - MSVC распознает
.cxxкак исходный код C++ - CMake, GNU Make и Meson обнаруживают его автоматически
Файл не хранит метаданных версии; целевой стандарт C++ (от C++98 до C++23) указывается как флаг компилятора, например --std=c++17. Результатом компиляции является объектный файл (.o или .obj), компонуемый в исполняемый файл или библиотеку.
Безопасность и защита
РИСК: LOWФайл .cxx является обычным текстом и не может запускаться сам по себе - открытие в редакторе безопасно. Риск возникает только тогда, когда вы КОМПИЛИРУЕТЕ и ЗАПУСКАЕТЕ неизвестный код C++: исходный код из ненадежных источников после сборки может выполнять любые действия в системе. Читайте код перед компиляцией; собирайте недоверенный код в песочнице или виртуальной машине.
Детали формата
в двух словахПрограммы, открывающие файлы CXX
Технические подробности
глубокая спецификация| Кодировка файла | Простой текст; ASCII или UTF-8 (необязательный UTF-8 BOM со смещением 0) |
| Бинарная сигнатура | Отсутствует - идентифицируется по расширению файла и содержимому, а не по магическим байтам |
| MIME-тип | text/x-c++src (доп.: text/x-c++, text/plain) |
| Типичный размер файла | От нескольких КБ до десятков КБ на один файл исходного кода |
| Целевой стандарт C++ | От C++98 до C++23; указывается во время компиляции через флаг (например, --std=c++17) |
| Значение расширения | Буквенно-цифровое написание C++: x дважды заменяет +, давая ASCII-безопасную альтернативу .c++ |
| Результат компиляции | Объектный файл (.o или .obj); компонуется в исполняемый файл или общую библиотеку |
| Поддержка компиляторами | GCC (g++), Clang и MSVC распознают .cxx как исходный код C++ нативно без дополнительных флагов |
| Поддержка систем сборки | CMake, GNU Make и Meson автоматически обнаруживают .cxx как C++ без дополнительной настройки |
| Типичное содержимое файла | Директивы #include, определения классов/структур, тела функций, специализации шаблонов, точка входа main() |
| Синтаксис комментариев | Строчные комментарии (//) и блочные комментарии (/* */) |
| Соответствующий заголовочный файл | Файлы .hxx или .hpp содержат объявления; файлы .cxx содержат соответствующие определения |
| Связанные расширения исходного кода | .cpp (стандарт для Windows/кроссплатформенности), .cc (стиль GNU/Google), .c++ (редко), .C (исторический Unix) |
| Выпущен | C++ created 1979-1985 (Bjarne Stroustrup, Bell Labs); .cxx is a long-standing extension convention |
| Последняя версия | ISO/IEC 14882:2024 (C++23); C++26 in progress |
| Открыть стандартное | Да · без роялти |
| Спецификация | isocpp.org |
Конвертации CXX
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах CXX.