프로그래밍 언어/[Rust]

[Rust] ToolChain Nightly

swc0317 2025. 2. 15. 16:48
728x90
반응형
Stable한 Rust

 

Rust라는 프로그래밍 언어는, 기존 Unsafe 언어들의 불안전함을 보완하는

 

언어입니다. 이를 위해, 컴파일 타임에 정적으로 메모리 안전을 보장합니다.

 

"메모리 안전 보장"을 위해, 수명, 소유권과 같은 Rust 내 자체적인

 

엄격한 보안 Principle들을 수반합니다.

 

이러한 보안 원리들 중 또 다른 하나는,

 

Raw pointer의 직접적인 사용을 방지하는 것 입니다.

 

기존의 C/C++은 메모리에 특정 주소에 직접 접근이 가능했습니다.

 

Rust는 이러한 Raw pointer의 사용을 금지합니다.

 

그러나 여전히 시스템 프로그래밍과 같은

 

저수준의 메모리 접근이 필연적입니다.

 

Rust는, 이를 위해 Unsafe 영역을 제공합니다.

 

어쨌든, 이런 Unsafe 영역을 제외한 다른 함수

 

Block 들에선, 비교적 "안전"한 함수들 혹은 접근법만 허용합니다.

 

이들은 개발자 수준에서 접근할 수 없는 추상화를 제공하며..

 

단순히 이러한 "Stable" 한 Rust는 이러한 기능에 

 

국한되지 않고 Sanitizer 같은 다른 

 

Unsafe 언어들을 하드닝 할 때 사용되는

 

소프트웨어들의 사용마저 제한합니다.

 

 

nightly ToolChain

 

그래서, unsafe block을 통해 Raw pointer, Foreign-Function-Interface 등을

 

사용하는 것에 국한되지 않고, 프로세스 외적인 Santizer, 최적화 등

 

현재 실험적인 단계의 Rust 기능을 쓸 수 있는 방법이 있습니다.

 

Nightly ToolChain을 사용하는 것입니다.

 

 

G - 러스트가 만들어지는 과정과 “Nightly Rust” - The Rust Programming Language

이 문서는 2판 번역본입니다. 최신 2021 에디션 문서는 https://doc.rust-kr.org 에서 확인하실 수 있습니다. 다음 내용은 러스트가 만들어지는 과정과 해당 과정이 러스트 개발자인 여러분에게 어떤 영

rinthel.github.io

 

설치법 및 명령어

 

rustup install nightly

 

실행 결과

 

위의 명령어를 실행하면 위와 같이 다운로드 및 설치됩니다.

 

rustup toolchain list

 

 

위 명령을 통해, 현재 설치된 툴체인들을 확인할 수 있고요.

 

rust 다운로드 및 컴파일 시

 

기본적으로 사용하는 게 위의 stable 툴체인입니다.

 

rustup show

 

위 명령어를 통해, "현재 환경"에서 활성화된 툴체인을 확인할 수 있습니다.

 

지금은 stable이죠? 그래서 현재 cargo 디렉터리에선

 

stable toolchain을 이용해 컴파일됩니다.

 

rustup override set nightly

 

 

현재 디렉터리의 툴체인을 변경하는 방법입니다.

 

말 그대로, 다른 디렉터리들의 툴체인을 변경하지 않고,

 

현재 디렉터리의 툴체인만 변경하는 방법입니다.

 

rustup default nightly

 

말 그대로 모든 cargo 디렉터리의 default

 

툴체인을 nightly로 변경하는 방법인데..

 

상황에 맞게 사용하시면 되겠습니다.

728x90
반응형

'프로그래밍 언어 > [Rust]' 카테고리의 다른 글

[Rust] Closures  (0) 2025.02.09
[Rust] Rust Functions  (0) 2025.02.09
[Rust] Expression  (0) 2025.01.07
[Rust] Type Conversion  (0) 2025.01.07
[Rust] Types  (1) 2025.01.03