Rust 빌드 하기
Rust 코드를 작성하고 실행하는 방법에 대해 알아보도록 하겠습니다.
Linux 및 MacOS 기준으로 설명하겠습니다.
1. 프로젝트 디렉터리 생성
아래와 같이 $HOME경로에 프로젝트 디렉터리를 만듭니다.
$ mkdir ~/projects
$ cd ~/projects
$ mkdir hello_world
$ cd hello_world
2. Rust 프로그램 작성하기
러스트 파일들은 .rs
확장자로 끝납니다. hello_world 디렉터리에서 main.rs 파일을 만들고 아래 코드를 작성합니다.
fn main() {
println!("Hello, world!")
}
3. 컴파일하기
rustc
를 사용하여 컴파일하면 실행파일이 만들어집니다.
$ rustc main.rs
$ ls
main main.rs
4. 실행하기
실행파일을 실행해 봅니다.
$ ./main
Hello, world!
Cargo 사용하기
Cargo란 러스트의 빌드 시스템 및 패키지 매니저입니다.
Cargo를 사용하여 빌드할 수 있습니다.
위 방식과의 차이점은 Cargo는 빌드뿐만 아니라 의존성 있는 라이브러리까지 다운로드해줍니다.
1. 프로젝트 생성하기
cargo new
명령을 사용하여 새로운 프로젝트를 생성해 줍니다.
$ cargo new cargo_test
명령어를 수행하면 cargo_test 디렉터리가 생성되고 안에는 Cargo.toml 파일과 src 디렉터리가 생성됩니다.
Cargo.toml
이 파일은 TOML(Tom's Obvious, Minimal language) 포맷으로 작성된 Cargo의 환경설정 파일입니다.
[package]
name = "cargo_test"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
[dependencies]
[package] 섹션은 패키지 환경설정을 나타냅니다.
[dependencies] 섹션은 해당 프로젝트의 의존성 리스트 적을 수 있습니다.
cargo로 빌드를 할 때 dependencies에 있는 리스트들을 다운로드하게 됩니다.
src 디렉터리
src 디렉터리 안에는 main.rs파일이 기본으로 생성되어있고 원하는 코드로 변경 가능합니다.
소스파일들은 src디렉터리에서 관리하면 됩니다.
src/main.rs 내용
fn main() {
println!("Hello, world!");
}
2. 빌드 및 실행
cargo_test 디렉터리에서 cargo build
를 사용하여 빌드합니다.
$ cargo build
빌드가 완료되면 현재 디렉터리에서./target/debug/cargo_test라는 실행파일이 생성됩니다.
cargo_test 디렉터리에서 다음 커맨드를 입력하여 실행합니다.
$ ./target/debug/hello_cargo
Hello, world!
또한, cargo run
을 사용하여 한번에 컴파일 및 실행을 할 수 있습니다.
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `target/debug/cargo_test`
Hello, world!
cargo check
를 사용하여 코드가 컴파일되는지 확인할 수 있습니다.
cargo check
Checking cargo_test v0.1.0 (/Users/Username/projects/cargo_test)
Finished dev [unoptimized + debuginfo] target(s) in 0.17s
cargo build와 다르게 cargo check는 실행파일은 만들지 않습니다.
단순한 프로젝트에서는 rustc를 사용하는 것에 비해 큰 이득은 없지만, 프로젝트가 복잡해질수록 Cargo로 관리하는 것이 훨씬 효율적입니다.