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
'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 |