Cosmopolitan 3.0: Escreva uma vez, execute em qualquer lugar (e mais rápido!)

2025-02-01
Cosmopolitan 3.0: Escreva uma vez, execute em qualquer lugar (e mais rápido!)

A biblioteca Cosmopolitan versão 3.0 está aqui! Quase um ano em desenvolvimento, esta versão muda o jogo. Um único executável agora roda em arquiteturas AMD64 e ARM64 em Linux, macOS, Windows, FreeBSD, OpenBSD e NetBSD. Isso é possível graças a um novo linkador, apelink.c, que combina habilmente os formatos de arquivo PE, ELF, Mach-O e PKZIP. O Cosmopolitan 3.0 também apresenta melhorias significativas na compatibilidade com Windows e macOS, além de ganhos significativos em velocidade e eficiência de memória. Incluído está uma "distribuição Linux gorda", Cosmos, contendo ferramentas como Emacs, Vim e CoreUtils. Essa abordagem inovadora oferece não apenas portabilidade incomparável, mas também desempenho superior.

Leia mais
Desenvolvimento executável

Interpretador de Cálculo Lambda Binário em 383 Bytes

2025-01-15
Interpretador de Cálculo Lambda Binário em 383 Bytes

Esta postagem de blog apresenta uma nova implementação de 383 bytes de um interpretador de cálculo lambda binário como um executável ELF Linux x86-64. Este interpretador minúsculo consegue alcançar coleta de lixo, listas preguiçosas e recursão de cauda. Os programas são codificados em um formato binário notavelmente pequeno; por exemplo, seu avaliador metacircular tem apenas 232 bits. O autor fornece código C portátil amigável e binários pré-compilados para outras plataformas. Este projeto é uma ferramenta de aprendizado divertida para o cálculo lambda e mostra a possibilidade de implementar computação complexa em ambientes extremamente limitados de recursos.

Leia mais
Desenvolvimento Cálculo Lambda

Minimização Extrema: Criando um Executável Multiplataforma com Menos de 400 Bytes

2025-01-07

Esta postagem de blog detalha truques de otimização de tamanho do projeto Cosmopolitan Libc, usando assembly x86 e técnicas de compilação inteligentes para reduzir drasticamente o tamanho do executável. Os métodos principais discutidos incluem codificação de comprimento de execução, seções descentralizadas, eliminação de código morto, codificação δzd, funções sobrepostas e otimização de printf. O resultado final? Um executável ELF com menos de 400 bytes rodando em Linux, FreeBSD, NetBSD e OpenBSD. Isso demonstra o uso eficiente de recursos e oferece novas perspectivas sobre a escalabilidade de grandes bases de código.

Leia mais