Cosmopolitan libc
build-once run-anywhere c without devops
Features
- C코드를 어디서든 실행가능하게 만들어주는 라이브러리
- Java랑 비슷하지만 인터프리터나 VM필요없음
- Go/Rust 수준의 이식성을 제공하지만 C언어 그대로 사용
- 제공된 5개의 라이브러리 파일로 컴파일하면 그대로 맥/윈도우/리눅스 지원
- Windows Portable Executable 을 UNIX 6th 에디션 쉘스크립트로 만들수 있다는 사실을 이용
- 포터블하지만 Go 버전 헬로월드 보다 100x 작음
추가 코맨트
- 유명한 해커인 Justine Tunney가 APE(αcτµαlly pδrταblε εxεcµταblε) 포맷을 공개
- APE는 UNIX 쉘스크립트이면서 윈도우즈 실행파일 이어서 맥/윈/리눅스/BSD 어디서나 실행이 가능
- Cosmopolitan 은 이렇게 포터블한 상황에서 C코드를 어디서나 실행가능하게 만들어주는 LibC
- 이 APE 와 Cosmpolitan을 가지고 파일 1개로 실행되는 Redbean 웹서버를 개발
- Redbean은 실행파일이면서 ZIP 파일이어서 모든 HTML/CSS/JS 등의 리소스를 내장하는게 가능
- 이제 Cosmopolitan 1.0 에서는 Redbean 웹서버가 자기 자신인 Zip 파일의 내용을 수정하는게 가능
- Dynamic한 웹페이지를 만들어서 내용도 수정이 되지만, 파일은 1개
- Cosmopolitan libc - Build-Once Run-Anywhere C https://news.hada.io/topic?id=3489
- Redbean - 파일1개로 실행되는 웹서버 https://news.hada.io/topic?id=3815