Go, un lenguaje de programación de código abierto para crear software sencillo, confiable y eficiente.
jart/cosmopolitan
Una biblioteca estándar de C y una cadena de herramientas para crear un único ejecutable que funciona de forma nativa en Linux, macOS, Windows, BSD y BIOS.
- Estrellas
- 21,431
- Forks
- 784
- Issues abiertos
- 226
- Último commit
- hace 17 días
¿Qué es?
Cosmopolitan Libc permite compilar programas en C y C++ una sola vez y ejecutarlos en Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD y BIOS. Reconfigura versiones estándar de GCC y Clang para generar un formato de ejecutable políglota llamado Actually Portable Executable (APE), que no necesita intérprete ni máquina virtual.
El proyecto ofrece la distribución del compilador cosmocc, que se usa como un compilador de C convencional y también permite compilar proyectos de código abierto existentes basados en autotools. El entorno de ejecución incluye opciones de trazado integradas, como --strace y --ftrace, para depurar llamadas al sistema y a funciones.
El repositorio también incluye un sistema de compilación desde el código fuente con modos como tiny y tinylinux para generar binarios más pequeños, además de notas para configurar plataformas y cargar APE en Linux y WSL.
Funciones clave
- 01Compila programas en C y C++ en ejecutables únicos que funcionan en varios sistemas operativos.
- 02Funciona con las cadenas de herramientas estándar de GCC y Clang mediante la distribución cosmocc.
- 03Incluye las opciones de ejecución --strace y --ftrace para depurar.
- 04Ofrece modos de compilación como tiny y tinylinux para generar binarios más pequeños.
- 05Permite compilar proyectos de código abierto basados en autotools.
Casos de uso
- Distribuir una herramienta de línea de comandos en un único archivo que funcione en Linux, macOS y Windows.
- Empaquetar utilidades o servidores portátiles para sistemas que no tengan un entorno de ejecución instalado.
- Compilar proyectos de C existentes para varios sistemas operativos sin hacer compilaciones específicas para cada plataforma.
Inicio rápido
- 1
Descarga la versión del compilador cosmocc
wget https://cosmo.zip/pub/cosmocc/cosmocc.zip - 2
Descomprime el archivo del compilador
unzip cosmocc.zip - 3
Compila un programa Hello World
cosmocc -o hello hello.c - 4
Ejecuta el archivo ejecutable resultante
./hello
Antes de usarlo
- En algunas distribuciones de Linux, los programas APE no se ejecutan hasta que registras el cargador APE con binfmt_misc.
- Ejecutar programas APE en WSL no es seguro a menos que desactives WSLInterop. Además, Windows 7 y Vista necesitan una rama comunitaria independiente.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es cosmopolitan?
- Una biblioteca estándar de C y una cadena de herramientas para crear un único ejecutable que funciona de forma nativa en Linux, macOS, Windows, BSD y BIOS. Cosmopolitan Libc permite compilar programas en C y C++ una sola vez y ejecutarlos en Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD y BIOS. Reconfigura versiones estándar de GCC y Clang para generar un formato de ejecutable políglota llamado Actually Portable Executable (APE), que no necesita intérprete ni máquina virtual.
- ¿cosmopolitan es gratuito? ¿Qué licencia tiene?
- cosmopolitan es open source bajo la licencia ISC. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿cosmopolitan sigue mantenido?
- Mantenimiento activo. El último commit de cosmopolitan fue el 20 oct 2026.
- ¿Para qué puedo usar cosmopolitan?
- Distribuir una herramienta de línea de comandos en un único archivo que funcione en Linux, macOS y Windows. Empaquetar utilidades o servidores portátiles para sistemas que no tengan un entorno de ejecución instalado. Compilar proyectos de C existentes para varios sistemas operativos sin hacer compilaciones específicas para cada plataforma.
- ¿Cómo se instala cosmopolitan?
- Descarga la versión del compilador cosmocc: wget https://cosmo.zip/pub/cosmocc/cosmocc.zip Descomprime el archivo del compilador: unzip cosmocc.zip Compila un programa Hello World: cosmocc -o hello hello.c Ejecuta el archivo ejecutable resultante: ./hello
- ¿Dónde consigo cosmopolitan?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/jart/cosmopolitan
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Colección modular de tecnologías para compiladores y cadenas de herramientas, que incluye el núcleo de LLVM, el frontend Clang para C/C++, libc++ y el linker LLD.
CLI y TUI que rastrea cualquier proceso, puerto, contenedor o archivo hasta la cadena de sistemas que lo inició.
Una herramienta CLI para crear binarios de PHP independientes, sin dependencias y con las extensiones elegidas, para Linux, macOS y Windows.
Un lenguaje de programación compilado experimental, diseñado para código generado por IA que revisan personas, con sintaxis explícita, sin recolector de basura y con compilación a C.
Un wrapper de QEMU que descarga automáticamente imágenes de sistemas operativos e inicia máquinas virtuales optimizadas de Windows, macOS y Linux.