$ mkdir ~/projects
$ cd ~/projects
$ mkdir hello_world
$ cd hello_world
fn main() {
println!("Hello, world!");
}
$ rustc main.rs
$ ./main
Hello, world!
> rustc main.rs
> .\main.exe
Hello, world!
컴파일 시 아래와 같이 실행파일이 만들어진 것을 확인할 수 있습니다.
$ ls
main main.rs
Cargo는 Rust의 빌드 시스템 및 패키지 매니저입니다.
$ cargo --version
$ cargo new hello_cargo --bin
$ cd hello_cargo
위와 같이 Cargo가 두 개의 파일과 하나의 디렉토리를 생성한 것을 확인할 수 있습니다.
[package]
name = "hello_cargo"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
[dependencies]
[package] : 패키지 환경설정을 나타냄
[dependencies] : 해당 프로젝트의 의존성 리스트 작성 가능
fn main() {
println!("Hello, world!");
}
$ cargo build
Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 2.85 secs
이는 현재 디렉토리 대신 target/debug/hello_cargo에 실행파일을 생성합니다. 아래를 통해 실행 가능합니다.
$ ./target/debug/hello_cargo # or .\target\debug\hello_cargo.exe on Windows
Hello, world!
또한 위의 과정을 cargo run을 사용해 한번의 커맨드로 코드 컴파일 후 실행파일 실행이 가능합니다.
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
Running `target/debug/hello_cargo`
Hello, world!
cargo check를 사용해 코드가 컴파일되는지 확인할 수 있습니다. 이는 실행파일을 생성하진 않습니다.
$ cargo check
Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs
프로젝트 배포(릴리즈)를 위해 cargo build --release를 사용해 최적화와 함께 컴파일 가능합니다.
이는 target/debug 대신 target/release에 실행파일을 생성합니다.