Rust by Example

11 クレイト

クレイトはRustにおけるコンパイルの単位です。rustc some_file.rsが呼ばれると、some_file.rsは必ずクレイトファイルとして扱われます。もしsome_file.rsmod宣言を含んでいるのならば、コンパイルの前にモジュールファイルの中身は、クレイトファイルと結合されます。言い換えると、それぞれのモジュールが独立にコンパイルされるということはありませんが、それぞれのクレートは互いに独立にコンパイルされるということです。

クレイトはバイナリあるいはライブラリ形式でコンパイルされることが可能です。デフォルトではrustcはクレイトからバイナリを作り出しますが、この振る舞いは--crate-typeフラグをrustcに渡すことでオーバーライドできます。