컴파일러 부트스트래핑
부트스트래핑은 컴파일러를 사용하여 그 컴파일러 자신을 컴파일하는 과정입니다. 더 정확히 말하면, 이전 버전의 컴파일러를 사용하여 같은 컴파일러의 새 버전을 컴파일하는 것을 의미합니다.
이는 닭이 먼저냐 달걀이 먼저냐 하는 역설을 불러옵니다. 최초의 컴파일러는 어디에서 왔을까요? 최초의 컴파일러는 다른 언어로 작성되었을 수밖에 없습니다. Rust의 경우, 최초의 컴파일러는 OCaml로 작성되었습니다. 하지만 그 컴파일러는 오래전에 버려졌으며, 최신 버전의 rustc를 빌드하는 유일한 방법은 그보다 약간 이전 버전을 사용하는 것입니다.
이것이 바로 Rust의 부트스트랩 빌드 시스템이 작동하는 방식입니다. rustc의 현재 베타 릴리스를 다운로드한 다음, 이를 사용하여 새 컴파일러를 컴파일합니다.
이 절에서는 부트스트랩이 무엇을 하는지를 개략적으로 살펴본 다음, 부트스트랩이 그 일을 어떻게 하는지를 개략적으로 소개합니다.
또한 디버깅 방법을 알아보려면 부트스트랩 디버깅을 참고하십시오.