[Rust] 1장 Rust란 무엇인가

1. Rust 란?

Rust는 시스템 프로그래밍 언어로, 모질라(Mozila)에서 개발한 한정성, 동시성, 성능을 중시하고, 메모리 안정성을 보장하기 위한 소유권(Ownership)시스템을 도입하고 있습니다.


2. Rust의 특징 

  • 메모리 안정성: 컴파일 타임에 메모리 오류를 방지하여 런타임 에러를 최소화
  • 성능: C/C++와 유사한 성능을 제공하면서 안정성을 유지
  • 동시성: 데이터 경합을 방지하는 강력한 동시성 모델을 지원
  • 풍부한 타입 시스템: 제네릭, 패턴 매칭, 열거형 등 다양한 기능을 제공
  • 크로스 플랫폼: 다양한 운영체제에서 사용

3. Rust 장단점

  • 장점
    • 안전한 메모리 관리: 소유권 시스템 덕분에 수동 메모리 관리가 필요 없음
    • 고성능: 컴파일된 코드가 최적화되어 빠름
    • 강력한 커뮤니티: 활발한 커뮤니티와 풍부한 라이브러리 지원.
  • 단점
    • 학습 곡선: 소유권과 생명 주기 개념이 초보자에게 어렵게 느껴질 수 있음
    • 컴파일 속도: 대규모 프로젝트에서 컴파일 시간이 길어질 수 있음
    • 에코시스템: 일부 특정 분야에서 라이브러리나 프레임워크가 부족할 수 있음

4. Rust 세팅법

  • 웹 브라우저를 통한 다운로드:
    • Rust 설치 페이지로 이동합니다.
    • "Windows" 섹션에서 "rustup-init-exe" 파일을 다운 받습니다.
  • 설치 실행 
    • 다운로드한 rustup-init.exe파일을 실행합니다
    • 설치 마법사의 지시에 따라 설치를 진행합니다.
  • 환경 변수 설정
    • 설치 완료 시, Rust의 cargo와 rustc명령어를 사용하기 위한 환경 변수가 자동으로 설정되고, 만약 설정되지 않았다면 다음 경로에 PATH를 추가합니다.
C:\Users\<사용자명>\.cargo\bin
  • 버전확인
    • 명령 프롬프트를 열고 다음 명령어로 Rust 설치 버전을 확인합니다.
 rust  rustc --version
rustc 1.85.0 (4d91de4e4 2025-02-17)

 

  • Rust 확장 설치:
    • VSCode를 열고, 사이드바에 확장 프로그램 아이콘을 클릭후 "rust-analyzer"을 검색 후 설치합니다.

5. Rust 프로젝트 생성

터미널을 열고 다음 명령어를 입력해 rust 프로젝트를 생성합니다.

cargo new rust_blog
cd rust_blog

 

src 폴더 안에 있는 main.rs 파일을 열러 아래와 같이 수정합니다. 그후 터미널을 열고 cargo run을 입력해 실행해줍니다.

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

 

 

[rust] error: linker `link.exe` not found

rust를 설치하고cargo run을 실행했는데 아래와 같은 문구가 뜬다. >cargo run Compiling hello-rust v0.1.0error: linker `link.exe` not found | = note: program not foundnote: the msvc targets depend on the msvc linker but `link.exe` was not

developnerror.tistory.com

rust를 실행해도 에러가 발생한다면 위 링크를 참고해 C++을 설치해줍니다.


 

GitHub - Koras02/rust-tutorial: https://thinky.tistory.com/category/Back-End/Rust

https://thinky.tistory.com/category/Back-End/Rust. Contribute to Koras02/rust-tutorial development by creating an account on GitHub.

github.com

 

LIST

'Back-End > Rust' 카테고리의 다른 글

[Rust] 6장 에러 처리  (0) 2025.03.08
[Rust] 5장 패턴 매칭(Pattern Matching)  (0) 2025.03.06
[Rust] 4장 데이터 타입(Data Types)  (0) 2025.03.02
[Rust] 3장 빌림(Borrowing)  (0) 2025.02.27
[Rust] 2장 Rust의 소유권(Ownership)  (0) 2025.02.26