TIL/RUST

RUST란?

keepGGoing 2024. 8. 28. 22:52

RUST란?

모질라 연구소에서 개발된 시스템 프로그래밍 언어로, 안전하고 효율적인 병렬 프로그래밍을 지원한다.

c나 c++ 같은 저수준 언어의 성능을 유지하며, 메모리 안정성과 스레드 안정성을 보장한다.

 

RUST를 사용하는 이유?

c/c++ 같은 저수준의 언어는 Shared Mutable States로 인해 안전성을 보장하기 어렵다.

Shared Mutable States 란 간단하게 Shared는 공유하는 것 (두 곳에서 하나의 메모리를 보는 것), Mutable (읽고 쓰는 것)이다.

즉, Shared Mutable States로 인해 undefined behaviors 가 많다. 

undefined behaviors에 대해 c/c++ 에선 warning 알림을 띄워주지만 컴파일 성공한다. 

Rust에선 error로 감지한다. (더 깐깐함) 따라서 빌드된 이후엔 안전하다고 하는 것이다.

 

Rust가 안전성을 보장할 수 있는 이유

Rust는 Shared 하거나, Mutable 하거나 한 번에 하나씩만 허용해 줌으로써 안정성을 보장했다.

 

Rust 설치하기 및 개발환경 셋팅

1. https://www.rust-lang.org/tools/install 에서 64bit(혹은 32bit)의 rust_init.exe를 다운받는다. 

설치한 후에는 vscode를 실행한다. 러스트에서 제공하는 컴파일, 디버깅, 언어서버(laguage server)등의 기능을 쉽고 편리하게 사용할 수 있기 때문이다.

 

2. 확장 프로그램 설치

rust-analyzer확장 프로그램 설치

3. 프로젝트 생성

원하는 디렉토리에 들어가 새로운 프로젝트를 생성한다.

cargo new my_project

 

* 생성한 뒤 해당 디렉토리를 열어줘야 rust-analyzer정상작동

 

4. 코드 실행하기

아래 명령어는 main.rs를 실행시키는 명령어이다.

cargo run

 

아래 명령어는 빌드한느 명령어이다. default는 debug이기 때문에 release모드는 "--release"를 붙여줘야 함.

#디버그 모드
cargo build

#릴리즈 모드
cargo build --release