A linguagem de programação Go, open source e criada para desenvolver software simples, confiável e eficiente.
jart/cosmopolitan
Uma biblioteca padrão de C e uma cadeia de ferramentas que geram um único executável compatível com Linux, macOS, Windows, BSDs e BIOS.
- Estrelas
- 21,434
- Forks
- 785
- Issues abertas
- 226
- Último commit
- há 18 dias
O que é?
Cosmopolitan Libc permite compilar programas em C e C++ uma vez e executá-los em Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD e BIOS. Ela reconfigura o GCC e o Clang padrão para gerar um formato de executável poliglota chamado Actually Portable Executable (APE), que dispensa interpretador ou máquina virtual.
O projeto oferece a distribuição do compilador cosmocc, que funciona como um compilador C comum e também pode ser usada para compilar projetos open source existentes baseados em autotools. O runtime inclui opções de tracing integradas, como --strace e --ftrace, para depurar chamadas de sistema e de funções.
O repositório também contém um sistema de build a partir do código-fonte, com modos como tiny e tinylinux para gerar binários menores, além de instruções para configurar o carregamento de APE no Linux e no WSL.
Recursos principais
- 01Compila programas em C e C++ em executáveis únicos que rodam em vários sistemas operacionais.
- 02Funciona com toolchains padrão do GCC e do Clang por meio da distribuição cosmocc.
- 03Inclui as opções de runtime --strace e --ftrace para depuração.
- 04Oferece modos de build como tiny e tinylinux para gerar binários menores.
- 05Permite compilar projetos open source existentes baseados em autotools.
Casos de uso
- Distribuir uma ferramenta de linha de comando em um único arquivo compatível com Linux, macOS e Windows.
- Empacotar utilitários ou servidores portáveis para sistemas sem um runtime instalado.
- Compilar projetos C existentes para vários sistemas operacionais sem fazer builds separados para cada plataforma.
Início rápido
- 1
Baixe a versão do compilador cosmocc
wget https://cosmo.zip/pub/cosmocc/cosmocc.zip - 2
Descompacte o arquivo do compilador
unzip cosmocc.zip - 3
Compile um programa Hello World
cosmocc -o hello hello.c - 4
Execute o arquivo executável resultante
./hello
Antes de usar
- Em algumas distribuições Linux, os programas APE não funcionam até que você registre o carregador APE no binfmt_misc.
- Executar programas APE no WSL não é seguro, a menos que você desative o WSLInterop. Além disso, o Windows 7 e o Vista precisam de uma branch comunitária separada.
Em coleções
Tópicos
Perguntas frequentes
- O que é cosmopolitan?
- Uma biblioteca padrão de C e uma cadeia de ferramentas que geram um único executável compatível com Linux, macOS, Windows, BSDs e BIOS. Cosmopolitan Libc permite compilar programas em C e C++ uma vez e executá-los em Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD e BIOS. Ela reconfigura o GCC e o Clang padrão para gerar um formato de executável poliglota chamado Actually Portable Executable (APE), que dispensa interpretador ou máquina virtual.
- cosmopolitan é gratuito? Qual é a licença?
- cosmopolitan é open source sob a licença ISC. Confira os termos da licença antes de usá-lo em produtos comerciais.
- cosmopolitan ainda é mantido?
- Manutenção ativa. O último commit de cosmopolitan foi em 20 de out. de 2026.
- Para que posso usar cosmopolitan?
- Distribuir uma ferramenta de linha de comando em um único arquivo compatível com Linux, macOS e Windows. Empacotar utilitários ou servidores portáveis para sistemas sem um runtime instalado. Compilar projetos C existentes para vários sistemas operacionais sem fazer builds separados para cada plataforma.
- Como instalar cosmopolitan?
- Baixe a versão do compilador cosmocc: wget https://cosmo.zip/pub/cosmocc/cosmocc.zip Descompacte o arquivo do compilador: unzip cosmocc.zip Compile um programa Hello World: cosmocc -o hello hello.c Execute o arquivo executável resultante: ./hello
- Onde consigo cosmopolitan?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jart/cosmopolitan
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Coleção modular de tecnologias para compiladores e toolchains, incluindo o núcleo do LLVM, o frontend Clang para C/C++, libc++ e o linker LLD.
Uma CLI e TUI que rastreia qualquer processo, porta, contêiner ou arquivo até a cadeia de sistemas que o iniciou.
Ferramenta CLI que cria binários PHP independentes, sem dependências, com as extensões escolhidas para Linux, macOS e Windows.
Uma linguagem de programação compilada experimental, pensada para código gerado por IA e revisado por pessoas, com sintaxe explícita, sem garbage collector e compilação para C.
Um wrapper para QEMU que baixa imagens de sistemas operacionais automaticamente e inicia máquinas virtuais otimizadas de Windows, macOS e Linux.