package-and-crate

Package & Crate

Crate

러스트가 컴파일를 하는 가장 작은 단위이다. Crate는 여러 모듈을 담을 수 있다.

  • 종류

    • 바이너리: 실행 파일로 컴파일 할 수 있는 프로그램 (main 함수를 가지고 있음) (Java의 BootJar 느낌)
    • 라이브러리
  • Crate Root: 컴파일러가 컴파일을 시작하는 소스 파일

    • src/main.rs // cargo run로 실행
    • src/bin/*.rs // cargo run --bin *로 실행
    • src/libs.rs // 바이너리 Crate 에서 가져다가 사용됨

Package

일련의 기능을 제공하는 하나 이상의 크레이트로 구성된 번들이다. Cargo.toml로 정의됨

  • 하나 이상의 크레이트가 포함되어야함 (라이브러리든 바이너리든 상관 없음)