10 Crates
crate는 Rust에서 편집 단위이다. 언제 rustc some_file.rs
가 호출되던 간에 some_file.rs
는 crate file로 간주된다. 만약 some_file.rs
가 mod
로 선언되면, 모듈 파일 내의 내용들은 컴파일 되기 전에 crate파일로 병합된다. 다시 말해서 모듈들은 개별적으로 컴파일되지 않고 오직 crate가 컴파일된다.
crate는 바이너리나 라이브러리로 컴파일 될 수 있다. 기본적으로 rustc
는 crate를 바이너리로 생성한다. 이 동작은 --crate-type
플래그를 rustc
로 전달하여 재정의 할 수 있다.