https://justine.lol/cosmopolitan/howfat.html
honeybadger
cosmopolitan libc
your build-once run-anywhere c library
* Intro
* Download
* Documentation
* Tutorials
* GitHub
* License
* >> justine's web page
How Fat Does a Fat Binary Need To Be?
Cosmopolitan lets you build executables that run natively on seven
operating systems. One of the first questions C/C++ developers ask is
how much bloat does that entail? Is the Cosmopolitan Runtime lean and
mean like Go's 2mB Hello World executables? Or is it a monster like
Electron or those hundred megabyte OpenJDK shell scripts.
The answer is it takes about 12kB. That's how big a statically-linked
executable needs to be to run natively without dependencies on Linux,
Mac, Windows, FreeBSD, OpenBSD, NetBSD, and BIOS. Cosmopolitan is
designed to let you build such programs. This page will demonstrate
why the portability benefits Cosmopolitan provides have negligible
performance impact and therefore only serve to save time while
ensuring your work can reach a broader audience.
The form below lets you build and visualize hello world programs with
a customized support vector. It will show you exactly what goes into
an actually pdrtable executable that lets it integrate with so many
systems. Since seeing is believing, the hope is that you'll choose to
trust Cosmopolitan as your POSIX-comforming systems abstraction.
build me a program... hoo
(*)exit(42)
( )write(hello world)
( )exit(stat($1).st_size)
that runs on...
[*]GNU/Systemd (1)
[*]FreeBSD (32)
[*]OpenBSD (16)
[*]NetBSD (64)
[*]XNU's Not UNIX (8)
[*]Bare Metal (2)
[*]Windows (4)
show me...
(*)binary
( )assembly
( )source code
output
life.com (12kB)
config
make o/tiny/examples/life.com MODE=tiny CPPFLAGS=
-DSUPPORT_VECTOR=0b1111111
github.com/jart/cosmopolitan
Cosmopolitan Communique
Published on February 11^th, 2021