반응형
Notice
Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
관리 메뉴

Easy-So-Easy

[RUST] C.1-2 Cargo 다루기 본문

Rust

[RUST] C.1-2 Cargo 다루기

섭_민 2024. 3. 25. 19:06
반응형

cargo는 러스트의 빌드 시스템 그리고 패키지 매니저이다. 프로젝트가 방대해질수록 이 cargo를 써야한다는 말이다. 꼭 쓰라는 얘기는 아니고.. 쓰면 프로젝트 관리에 더욱 용이하단 말..ㅎㅎ

러스트 공식 문서

러스트 공식문서에서도 Cargo를 위와같이 dependencies를 추가하면 더욱 쉽게 관리할 수 있다고 한다. 또한 git 을 이용한 작업도 쉬워진다.

 

 

Cargo 버전 확인

$ cargo --version

 

 

Cargo 프로젝트 만들기

$ cargo new hello_cargo
$ cd hello_cargo

 

 

src/main.rc에 아래의 코드가 생성된 것을 볼 수 있다.

fn main() {
    println!("Hello, world!");
}

 

 

Cargo 빌드하기

$ cargo build
   Compiling hello_cargo v0.1.0 (file:///projects/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 2.85 secs

 

생성된 실행파일은 target/debug/ 디렉토리에 생상되어 있다.

 

Cargo 빌드 및 실행

$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/hello_cargo`
Hello, world!

cargo run 은 빌드와 실행이 모두 되는 명령어이다.

 

Cargo 에러만 확인하기

$ cargo check
   Checking hello_cargo v0.1.0 (file:///projects/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs

cargo check 명령어는 오류가 없는지 확인만 하는 코드이다. 실행파일은 만들어지지 않는다. 그러면 왜 cargo check 명령어를 사용하는 것일까?

 

그 이유는 컴파일 속도가 무지막지하게 빠르다. 프로젝트가 대형 프로젝트이면 빌드하는데에도 오래걸린다. 빌드를 오랜시간 동안 했는데, 오류가 나서 실행파일이 안만들어졌다고 생각해보자. (억울...) 그래서 cargo check를 통해 미리 빠르게 오류가 있는지 검토하는 역할을 한다.

 

 

Release 하기

$ cargo build --release

실행파일은 target/release 디렉토리에 만들어진다.

 

반응형

'Rust' 카테고리의 다른 글

[RUST] C.1-1 러스트 설치 [Linux or macOS]  (0) 2024.03.25
[RUST] C.0 - 러스트 란?  (0) 2024.03.24