Cosmopolitan 3.0:一度書けば、どこでも実行可能(しかも高速!)

2025-02-01
Cosmopolitan 3.0:一度書けば、どこでも実行可能(しかも高速!)

Cosmopolitanライブラリバージョン3.0が登場!ほぼ1年間の開発を経て、このリリースはゲームチェンジャーです。単一の実行ファイルが、Linux、macOS、Windows、FreeBSD、OpenBSD、NetBSDといった複数のプラットフォームのAMD64およびARM64アーキテクチャ上で動作するようになりました。これは、新しいリンカーであるapelink.cによって実現され、PE、ELF、Mach-O、PKZIPファイルフォーマットを巧みに統合しています。Cosmopolitan 3.0は、WindowsとmacOSの互換性も大幅に向上しており、速度とメモリ効率も大幅に改善されています。さらに「太ったLinuxディストロ」であるCosmosが含まれており、Emacs、Vim、CoreUtilsなどのツールが含まれています。この革新的なアプローチは、比類のない移植性だけでなく、優れたパフォーマンスも提供します。

続きを読む

383バイトのラムダ計算インタプリタ

2025-01-15
383バイトのラムダ計算インタプリタ

この記事では、x86-64 Linux ELF実行ファイルとして、383バイトで実装された新しいバイナリラムダ計算インタプリタを紹介します。この小さなインタプリタは、ガベージコレクション、遅延リスト、末尾再帰などの機能を実現しています。プログラムは非常に小さなバイナリ形式でエンコードされます。たとえば、メタサーキュラーインタプリタはわずか232ビットです。著者は、移植性の高いフレンドリーなCコードと、他のプラットフォーム向けのプリビルドバイナリを提供しています。このプロジェクトは、ラムダ計算の学習ツールとして楽しく、極めてリソースが制約された環境でも複雑な計算を実行できる可能性を示しています。

続きを読む
開発

究極のミニマ化:400バイト以下のクロスプラットフォーム実行ファイルの作成

2025-01-07

この記事では、Cosmopolitan Libcプロジェクトのサイズ最適化テクニックについて説明します。x86アセンブリと高度なコンパイル技術を使用して、実行ファイルのサイズを劇的に削減します。解説する主な手法は、ランレングスエンコーディング、分散セクション、デッドコード除去、δzdエンコーディング、関数オーバーラップ、printfの最適化などです。最終的な成果は、Linux、FreeBSD、NetBSD、OpenBSDの4つのOSで動作する400バイト以下のELF実行ファイルです。これは、リソースの効率的な使用を示し、大規模コードベースの拡張性に関する新たな視点を与えます。

続きを読む