🦀 Rust
[Rust 입문] 1. hello
date
Mar 23, 2023
slug
rust-hello
author
status
Public
tags
Rust
독학
summary
Rust를 설치하고 기초적인 프로그램을 실행해 봅니다.
type
Post
thumbnail
category
🦀 Rust
updatedAt
Mar 23, 2023 11:18 AM
1. 설치
mac os나 리눅스는 https://rustup.rs/ 에 있는 쉘 명령어를 쉘에 기입하면 설치가 가능하다.
온라인상에서 간단한 코드만 실행시켜 보고 싶은 경우 https://play.rust-lang.org 에서 구동시켜도 충분하다.
2. 설치 확인 및 rust 관련 명령어
rust를 설치하면 사용 가능한 명령어들이 생기는데 대표적으로 다음 명령어를 사용할 수 있다.
- rustc : rust compiler이며 *.rs 파일을 컴파일하는데 사용된다.
- rustdoc : rust 프로젝트의 문서를 생성하고 작성하는데 사용된다.
- rustup : rust 툴체인 인스톨러이며 버전 업데이트, rust 삭제 등을 이 명령어를 이용해 할 수 있다.
- cargo : rust의 패키지 매니저이며 rust 프로젝트를 생성, 빌드 등 여러가지 일을 할 수 있다. rust를 이용하여 프로젝트를 만들고 빌드할때엔 보통 이 명령어를 주로 사용한다.
3. rustc를 이용한 컴파일
rust의 hello world 코드는 다음과 같다.
fn main() { println!("Hello, world!"); }
main 함수 블록에서 println! 매크로를 이용해 Hello World 문장을 출력하는 예제이다.
다음과 같이 빌드한다.
$> rustc hello.rs
빌드하면 소스코드의 파일명을 가진 바이너리 파일이 생성되는데 이 파일을 실행시키면 Hello World가 출력된다.
4. cargo로 프로젝트를 만들고 컴파일
rustc를 이용해 소스코드를 직접 컴파일하는 경우보다 cargo라는 패키지 매니저로 프로젝트를 만들고 빌드하는 경우가 많다. (C의 Makefile이나 자바의 Gradle/Maven, node의 npm과 비슷한 역할을 한다.)
실행파일을 생성하기 위한 프로젝트를 만드는 명령어는 다음과 같다.
$> # 자세한 도움말은 cargo new --help를 기입한다. cargo help new는 더 자세한 메뉴얼을 준다. $> cargo new [프로젝트명] --bin --vcs=none
위의 bin 옵션은 바이너리 (실행파일)을 만드는 프로젝트란 의미이며 vcs는 프로젝트의 버전관리 시스템을 입력한다. 만약 vcs 옵션이 없다면 보통 git으로 관리되며 none 옵션은 vcs를 사용하지 않는다는 것을 의미한다.
위 명령어를 실행하면 폴더가 생성된다.
[프로젝트명]/Cargo.toml : 프로젝트의 환경설정 포맷이며 프로젝트 이름, 버전 등을 입력할 수 있다.
[프로젝트명]/src/ : 소스코드의 경로이며 main.rs 파일을 기본으로 제공한다.
빌드 또는 실행
cargo 명령어로 빌드하거나 실행만 해볼수도 있다.
$> cargo build # 프로젝트를 빌드하여 실행파일을 [프로젝트명]/target/debug/ 에 생성한다. $> cargo run # 프로젝트를 빌드 (이미 빌드된 이력이 있다면 하지 않는다)하여 실행한다. $> cargo check # 프로젝트를 빌드는 하지 않으며 유효한지 체크만 한다. $> cargo build --release # 배포를 위한 빌드를 실행한다.