Go — язык программирования с открытым исходным кодом для создания простого, надёжного и эффективного ПО.
jart/cosmopolitan
Стандартная библиотека C и набор инструментов для сборки одного исполняемого файла, который работает в Linux, macOS, Windows, BSD и BIOS.
- Звёзды
- 21,434
- Форки
- 785
- Открытые issues
- 226
- Последний коммит
- 18 дней назад
Что это?
Cosmopolitan Libc позволяет один раз собрать программы на C и C++, чтобы они работали в Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD и BIOS. Проект перенастраивает стандартные GCC и Clang для создания исполняемых файлов в полиглотном формате Actually Portable Executable (APE), которым не нужны интерпретатор или виртуальная машина.
В проект входит дистрибутив компилятора cosmocc, которым пользуются как обычным компилятором C. С его помощью также можно собирать существующие проекты с открытым исходным кодом на базе autotools. В среде выполнения есть встроенные параметры трассировки, например --strace и --ftrace, для отладки системных вызовов и вызовов функций.
В репозитории также есть система сборки из исходного кода с режимами tiny и tinylinux для создания бинарных файлов меньшего размера, а ещё инструкции по настройке платформы для загрузки APE в Linux и WSL.
Ключевые возможности
- 01Собирает программы на C и C++ в единые исполняемые файлы, работающие в нескольких операционных системах.
- 02Работает со стандартными наборами инструментов GCC и Clang через дистрибутив cosmocc.
- 03Включает параметры среды выполнения --strace и --ftrace для отладки.
- 04Предлагает режимы сборки, например tiny и tinylinux, для создания бинарных файлов меньшего размера.
- 05Поддерживает сборку проектов с открытым исходным кодом на базе autotools.
Сценарии использования
- Распространение инструмента командной строки в виде одного файла, работающего в Linux, macOS и Windows.
- Упаковка переносимых утилит или серверов для систем, где не установлена среда выполнения.
- Сборка существующих проектов на C для нескольких операционных систем без отдельных сборок под каждую платформу.
Быстрый старт
- 1
Скачайте релиз компилятора cosmocc
wget https://cosmo.zip/pub/cosmocc/cosmocc.zip - 2
Распакуйте архив компилятора
unzip cosmocc.zip - 3
Скомпилируйте программу Hello World
cosmocc -o hello hello.c - 4
Запустите полученный исполняемый файл
./hello
Что важно знать
- В некоторых дистрибутивах Linux программы APE не запускаются, пока вы не зарегистрируете загрузчик APE в binfmt_misc.
- Запускать программы APE в WSL небезопасно, если не отключить WSLInterop. Для Windows 7 и Vista также нужна отдельная ветка сообщества.
В подборках
Темы
Частые вопросы
- Что такое cosmopolitan?
- Стандартная библиотека C и набор инструментов для сборки одного исполняемого файла, который работает в Linux, macOS, Windows, BSD и BIOS. Cosmopolitan Libc позволяет один раз собрать программы на C и C++, чтобы они работали в Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD и BIOS. Проект перенастраивает стандартные GCC и Clang для создания исполняемых файлов в полиглотном формате Actually Portable Executable (APE), которым не нужны интерпретатор или виртуальная машина.
- cosmopolitan можно использовать бесплатно? Какая у него лицензия?
- cosmopolitan распространяется с открытым исходным кодом под лицензией ISC. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- cosmopolitan всё ещё поддерживается?
- Активно поддерживается. Последний коммит в cosmopolitan — 20 окт. 2026 г..
- Для чего можно использовать cosmopolitan?
- Распространение инструмента командной строки в виде одного файла, работающего в Linux, macOS и Windows. Упаковка переносимых утилит или серверов для систем, где не установлена среда выполнения. Сборка существующих проектов на C для нескольких операционных систем без отдельных сборок под каждую платформу.
- Как установить cosmopolitan?
- Скачайте релиз компилятора cosmocc: wget https://cosmo.zip/pub/cosmocc/cosmocc.zip Распакуйте архив компилятора: unzip cosmocc.zip Скомпилируйте программу Hello World: cosmocc -o hello hello.c Запустите полученный исполняемый файл: ./hello
- Где скачать cosmopolitan?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jart/cosmopolitan
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Модульный набор технологий для компиляторов и инструментальных цепочек, включающий LLVM core, фронтенд Clang для C/C++, libc++ и линкер LLD.
CLI и TUI, которые прослеживают цепочку систем, запустивших процесс, занявших порт или контейнер либо открывших файл.
CLI-инструмент для сборки автономных PHP-бинарников без зависимостей, с выбранными расширениями, для Linux, macOS и Windows.
Экспериментальный компилируемый язык программирования для кода, созданного ИИ и проверяемого людьми: явный синтаксис, без сборщика мусора, компиляция в C.
Обёртка для QEMU, которая автоматически скачивает образы ОС и запускает оптимизированные виртуальные машины Windows, macOS и Linux.