Rust : 한국어로 "녹"이라는 뜻을 가지고 있는 러스트는 이름에 걸맞게 로고도 톱니바퀴의 모양이다.
Mozilla Research에서 개발한 오픈소스 범용 프로그래밍 언어이며 안전성, 속도, 병행처리에 중점을 두고 만들어진 언어이다.
Feature :
- 메모리 관련 오류를 발생하지 않는다. (정확히 컴파일 과정에서 오류난 곳을 감지하여 미연에 메모리 오류 발생을 방지한다.)
- 러스트는 Null pointer 및 초기화되지 않은 pointer가 존재하지 않도록 강제함
- 모든 변수는 초기값을 가지고 할당 -> 해제된 포인터 접근 시 컴파일러가 감지하여 오류 발생
- 속도가 매우 빠르다. (C++과 비슷한 수준의 성능을 목표로 하고 실제로 매우 빠름)
Install (for MacOS/Linux) :
$ curl https://sh.rustup.rs -sSf | sh
Update :
$ rustup update
Check :
$ rustc --version
Cargo : 카고는 러스트의 컴파일러(rustc)를 포함하는 Build system이며, 동시에 패키지 매니저의
역할도 하는 소프트웨어이다. 러스트를 설치하면 함께 설치가 되어있다.
* Build : 소스 코드 파일을 컴퓨터 등의 기기에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 또는 그의 결과물 - Compile
Check :
$ cargo --version
Cargo.toml : Cargo의 환경설정 포맷
- Example :
[package]
name = "project_name"
version = "0.1.0"
authors = ["name <email@example.com>"]
description = "Just toml example"
[dependencies]
* package : 이후의 문장들이 패키지 환경설정이라는 것을 나타내는 구간
* dependencies : 프로젝트의 의존성들의 리스트들을 적을 수 있는 구간
cargo build : 해당 프로젝트를 Build 하는 명령어
$ cargo build
cargo run : build 된 프로젝트를 실행하는 명령어 (build가 되지 않았다면 build과정도 같이 수행)
$ cargo run
cargo check : 코드가 Compile이 되는지 빠르게 확인해 주는 명령어 (실행파일은 생성하지 않음)
$ cargo check
Release Build : 프로젝트가 배포의 단계에 있을 때 릴리즈 빌드를 이용하여 최적화 및 컴파일을 수행
$ cargo build --release
기본 빌드와 릴리즈 빌드의 차이점 :
- Build : ./target/debug에 실행파일을 생성하고 Complie은 빠르게 수행하나 Code를 읽고 실행하는 것은 느리게 동작한다.
- Release Build : ./target/release에 실행파일을 생성하고 Compile은 느리나 Code를 읽고 실행하는 것은 빠르게 동작한다.
반응형