4 ms·
I think Cosmopolitan[1] is a beautiful example for self-modifying executables. > Cosmopolitan Libc makes C a build-once run-anywhere language, like Java, excep
by mimimi31 5y ago
I think Cosmopolitan[1] is a beautiful example for self-modifying executables.
> Cosmopolitan Libc makes C a build-once run-anywhere language, like Java, except it doesn't need an interpreter or virtual machine. Instead, it reconfigures stock GCC and Clang to output a POSIX-approved polyglot format that runs natively on Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS with the best possible performance and the tiniest footprint imaginable.
> Please note that your APE binary will assimilate itself as a conventional resident of your platform after the first run, so it can be fast and efficient for subsequent executions.
[1] https://github.com/jart/cosmopolitan https://github.com/jart/cosmopolitan
- nicoburns 5y agoIt's a technical hack to solve an organisation problem though. The correct solution is a standard format for fat binaries that's supported everywhere.
- lostcolony 5y agoIt's an achievable hack. Your "correct solution" is unachievable.
- saagarjha 5y agoAPE is fundamentally broken on pretty much every platform that isn’t Linux because of baked-in ABI.