본문 바로가기
카테고리 없음

Rust 빌드 하기

by 3604 2024. 6. 12.
728x90

목차

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로 관리하는 것이 훨씬 효율적입니다.

728x90