11.2 Crates

crate_type 속성은 컴파일러에게 crate이 바이너리인지 라이브러리인지 알려줄 때 사용될 수 있고(그리고 어떤 타입의 라이브러리인지), crate_name 속성은 crate의 이름을 설정할 때 사용될 수 있다.

// lib.rs
// 이 crate는 라이브러리.
#![crate_type = "lib"]
// 라이브러리 이름은 "rary".
#![crate_name = "rary"]

pub fn public_function() {
    println!("called rary's `public_function()`");
}

fn private_function() {
    println!("called rary's `private_function()`");
}

pub fn indirect_access() {
    print!("called rary's `indirect_access()`, that\n> ");

    private_function();
}

crate_type속성이 사용될 때, 더 이상 --crate-type 플래그를 rustc에 전달할 필요가 없다.

$ rustc lib.rs
$ ls lib*
library.rlib

results matching ""

    No results matching ""