공식 가이드북 보는데 당최 뭔소리인지를 모르겠네
크레이트가 main.rs + 소스파일 이고 패키지가 크레이트 + cargo 라고 생각했는데
책보니까 크레이트가 바이너리 형태도 있다고하니까 뭔소리인지 모르겠네
게다가 패키지 하나에 여러개 크래이트도 들어갈 수 있다는거 같은데 이해가 안 됨
여기서 말하는 패키지가 vs에서 쓰는 솔루션같은 개념인가?
내가 cpp만 해서 모-던 패키지 시스템을 이해못하는거도 있는거같긴한데 러스트 용어들 어려운거도 한몫하는듯
크레이트가 main.rs + 소스파일 이고 패키지가 크레이트 + cargo 라고 생각했는데
책보니까 크레이트가 바이너리 형태도 있다고하니까 뭔소리인지 모르겠네
게다가 패키지 하나에 여러개 크래이트도 들어갈 수 있다는거 같은데 이해가 안 됨
여기서 말하는 패키지가 vs에서 쓰는 솔루션같은 개념인가?
내가 cpp만 해서 모-던 패키지 시스템을 이해못하는거도 있는거같긴한데 러스트 용어들 어려운거도 한몫하는듯
패키지는 카고 단위임
대충 src + tests + examples + benches + build.rs 합쳐서 패키지라고 보면됨
아니면 그냥 Cargo.toml당 하나씩 딸려있다고 생각해도 무방
크레이트는 약간 모듈 느낌 아님
그럼 크레이트는 뭐를 말하는거임? 주딱말대로면 main.rs 중심으로 패키지 안의 소스파일트리 말하는거같은데 맞음?
?붙이는거 깜박했네. 원래 의도는 모듈개념 아니냐는 의문문이었음.
https://doc.rust-lang.org/cargo/appendix/glossary.html?highlight=crate#crate
https://doc.rust-lang.org/cargo/appendix/glossary.html?highlight=crate#target
나도 이거 봤는데 크레이트가 executable program일수도있다는게 이해가 안됨. 저기서 말하는 exe program이 빌드 결과물을 말하는건지 참조하는 dll같은거를 말하는건진 모르겠는데 크레이트는 src만 말하는거아님?
크레이트: Rust 컴파일러가 작동할 수 있는 가장 작은 양의 코드인 컴파일 단위입니다. 컴파일이 완료되면 실행 파일이나 라이브러리를 생성합니다. 이름 없는 암시적 최상위 모듈 을 포함합니다.
https://docs.microsoft.com/ko-kr/learn/modules/rust-modules-packages-crates/1-concepts-code-organization?ns-enrollment-type=LearningPath&ns-enrollment-id=learn.languages.rust-first-steps