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와의 호환성도 크게 개선되었으며, 속도와 메모리 효율도 크게 향상되었습니다. 또한 Emacs, Vim, CoreUtils 등의 도구를 포함하는 "두꺼운 Linux 배포판"인 Cosmos가 포함되어 있습니다. 이 혁신적인 접근 방식은 타의 추종을 불허하는 이식성뿐만 아니라 뛰어난 성능도 제공합니다.

더 보기
개발 실행 파일

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 네 가지 운영 체제에서 실행되는 400바이트 미만의 ELF 실행 파일입니다. 이는 효율적인 리소스 사용을 보여주며 대규모 코드베이스의 확장성에 대한 새로운 관점을 제시합니다.

더 보기