[1. 개요]
Rust 로 application 작성 시, 규모가 커질 경우 당연하게도 소스 코드를 모듈 별로 분리할 필요가 있다.
여기서는 소스코드로 분리하는 방법을 정리한다.
[2. 개념]
cargo 를 이용하여 두가지 형태의 프로젝트를 생성 할 수 있다.
- executable
- library
executable 형태에서는 main.rs 가 진입점이고,
library 형태에서는 lib.rs 가 진입점이다.
main.rs 를 기준으로 같은 디렉터리에 있는 소스코드의 경우, 파일 이름명이 바로 module 이 된다.
main.rs 를 기준으로 하위 디렉터리에 있는 소스코드 중 mod.rs 는 해당 디렉터리의 상위 모듈이 되고,
그 디렉터리내 소스코드의 파일명이 하위 모듈이 된다.
main.rs 에서는 키워드 mod 를 통해 사용하고자 하는 module 을 import 해야 한다.
module 내 함수나 trait 등은 pub keyword 를 통해 외부에 공개할 수 있다.
또, mod.rs 에 서브 모듈등을 import 해야 main.rs 에서 서브 모듈까지 사용 할 수 있다.
[3. 예제]
main.rs 에서 tbb 모듈을 사용하고,
boost 모듈 및 boost 의 하위 모듈인 filesystem 과 algorithm 모듈을 사용한다고 하면
아래와 같은 구조로 구성할 수 있다.
main.rs
- tbb.rs
- \boost
- filesystem.rs
- algorithm.rs
'Rust > 기타 팁' 카테고리의 다른 글
std::process::Command 관련 (0) | 2023.12.26 |
---|---|
ssh2 관련 (0) | 2023.12.19 |
Rust. 알고리즘 문제 풀이 기본 코드 구조 (0) | 2023.11.07 |
Rust 전역 변수 (0) | 2022.08.25 |
Rust io 성능에 대한 고찰 (0) | 2022.08.23 |