반응형
Rust. C++의 대체 시스템 프로그래밍 언어!
- 공통 :
- 최소 runtime
- Garbage collector X
- 차이 :
- Ownership system
- Type system : 컴파일러는 잘못된 형식의 변수에 어떤 작업도 적용되지 않게 보장
- 메모리 안정성 보장(without Garbage collector).
- c
- segmentation faults와 undefined behavior 고려하여 개발해야 함. (cognitive overhead)
- 스마트포인터 개념이 도입되었지만 이는 한계가 완전한 메모리 안정 보장이 되지 않음.
- Rust
- Borrow checker : 동일한 값을 동시에 변경할 수 없도록 하여 스레드 보안을 보장
- ownership 관리 : 스코프 내에서 변경가능한 참조자를 하나만 두게 하는듯 함.-> Garbage collector없이 메모리 안정성을 보장할 수 있게 함.
- 포인터가 항상 유효한 메모리를 참조하도록 한다.
- Borrow checker : 동일한 값을 동시에 변경할 수 없도록 하여 스레드 보안을 보장
- c
- 패키지 매니저 : cargo vs conan/vcpkg
- macro system : Declarative & Procedural
ℹ️Unsafe Rust
- 저수준의 시스템 프로그래밍, ex) 운영체제와 직접 상호작용
The only things that are different in Unsafe Rust are that you can:
- Dereference raw pointers
- Call unsafe functions (including C functions, compiler intrinsics, and > - the raw allocator)
- Implement unsafe traits
- Mutate statics
- Access fields of unions
반응형
'Rust' 카테고리의 다른 글
[Rust] "Rust" 입문. 튜토리얼 (1) - 웹 서버 구축 (0) | 2022.08.22 |
---|---|
[Rust] Mac에서 "Rust" 개발 환경 구성 (3) - VS Code 환경 구축 (0) | 2022.08.21 |
[Rust] Mac에서 "Rust" 개발 환경 구성 (2) - Hello World! (0) | 2022.08.17 |
[Rust] Mac에서 "Rust" 개발 환경 구성 (1) - 설치 (0) | 2022.08.15 |