Rust 설치 + Hello World + Hello Cargo
Why Rust?
- 기존의 C/C++ 언어가 지니는 메모리 관리의 어려움을 언어 차원에서 해소
- Windows OS에서 발견된 버그의 70%가 메모리 관련 버그임
- 최신 멀티 코어 프로세스를 활용한 동시성에 대한 지원
- 비용 없는 추상화
Rust 설치 & 설정
1 | $ curl https://sh.rustup.rs -sSf | sh |
Hello World
1 | fn main(){ |
- Rust에서 들여쓰기는 탭이 아니라 공백문자 4개를 이용한다.
println!
은 Rust macro이다. 함수가 아니라 매크로를 호출하는것이다.- 각 구문은
;
로 끝난다.
1 | $ rustc main.rs |
- 처음에 위 코드를 돌렸을 때
error: linker 'cc' not found
라는 에러가 나타났다.sudo apt-get install gcc clang
을 함으로써 해결되었다. 내 경우는 cc가 clang과 연결되어있어서 clang을 설치해줬더니 해결되었다. 대부분의 경우 gcc와 연결이 되어있을테니 gcc를 설치하면 해결될 것이다.
- Rust는 ahead-of-time compilation을 하기 때문에, 생성된 바이너리는 Rust를 설치하지 않고도 사용할 수 있다.
- 이러한 점은 Python, javascript, ruby와는 다른 점이다.
Hello Cargo
1 | $ cargo new hello_cargo_project |
cargo
라는 Rust 언어 전용 패키지 매니저를 사용해서 프로젝트를 생성한다.- 위와 같은 커맨드로 프로젝트를 생성하면 다음과 같은 내용들이 있다.
- src 폴더 (내부에는 main.rs 파일이 있음)
- Cargo.toml 파일
- 프로젝트 config 파일
- 패키지 이름, 버전, 작성자, 디펜던시 정보 등이 적혀있음.
- Rust에서 패키지는
crate
라고 부름.
- .gitignore 및 .git 폴더
1 | $ cargo build # Build only (Debug by default) |
- 위와 같은 커맨드를 이용해서 빌드 / 빌드 + 실행 / 컴파일 검사를 할 수 있다.
--release
옵션을 이용해서 코드 실행에 최적화된 release 모드 빌드를 할 수 있다.