Rust 시작하기 - Hello world

2022. 12. 4. 17:59Security ★ Development/개발

반응형

Android 플랫폼은 C/C++과 동급의 성능으로 메모리 안전 보장을 제공하는 모던 시스템 프로그래밍 언어인 Rust에서 네이티브 OS 구성요소를 개발하기 위한 지원을 제공합니다.- https://source.android.com/docs/setup/build/rust/building-rust-modules/overview?hl=ko 

 

Android Rust 소개  |  Android 오픈소스 프로젝트  |  Android Open Source Project

Android Rust 소개 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 플랫폼은 C/C++과 동급의 성능으로 메모리 안전 보장을 제공하는 모던 시스템 프로그래

source.android.com

 

rust와 kotlin를 살펴봤던 적이 있는데 각각 kotlin은 자바와, rust는 c와 비슷한 성격을 갖고있습니다.  메모리 안전성, 소유권 관리, 철저한 에러관리 측면에서, 로우레벨 보안/시스템 프로그래밍 시에는 rust가 적합하다라는 결론을 내린적이있습니다.  

 

안드로이드에서 각 모듈의 사용 개발 언어

 

안드로이드에서는 rust를 지원하고 이미 rust로 작성된 프로젝트들(ex, AIDL)이 포함되고 있습니다.  아직 사용 통계를 비교하는 개발언어 순위에 rust가 높은 순위는 아니지만 파이썬, 자바스크립트 등 익힐만한 언어가 난무하는 상황에서 rust 공부를 시작하는건 앞으로 좋은 선택이 될 수 있을것같습니다.

사실 언어는 도구일 뿐이고 프로젝트 시작시 이유가 충분하다면 새로운 언어로, 익힘과 동시에 작업을 진행할 수 있어야 한다고 평소 생각하지만 그렇다고 평상시 언어 공부가 불필요하다는 것은 아닙니다.  여러 언어를 접해보며 각 언어별 특장점을 적극적으로 이용해 프로젝트를 진행하는 것도 중요한것같습니다.

 

새 언어를 시작하면 무조건 해보는게 hello world를 찍어보는 일입니다.  아래부터는 rust로 hello world 찍어보기에 관한 내용입니다.(윈도우 기준)

 

rust 공식 홈페이지

 

https://www.rust-lang.org/learn/get-started 에 접속해서 RUSTUP-INIT.EXE를 다운받아 설치해줍니다.

 

설치중

 

설치가 완료되면 셀에서 'rustc'를 입력해봅니다.  실행못한다는 내용이 아닌 아래와 같은 내용이 나오면 정상적으로 설치가 완료되었다는걸 뜻합니다.

 

rustc 실행

 

rust 소스 파일을 작성해봅니다.  rust는 .rs라는 확장자를 갖고있습니다.  빈 텍스트 문서를 생성하고 이름을 main.rs로 변경합니다.  이후 아래와 같이 hello world를 찍는 코드를 작성합니다.

 

hello world main

 

문법에 대한 설명은 생략하겠습니다.  

작성했으면 rustc로 컴파일해줍니다.

 

rustc .\main.rs

 

그럼 main.exe가 나옵니다.  main.pdb는 디버깅 정보를 담고있는 파일입니다.

main.exe 실행해봅니다.

 

main.exe 실행

 

hello world가 보인다면 'hello world 찍어보기'는 여기서 끝입니다.  이제 문법을 공부하고 더 큰 프로젝트를 진행할 차례입니다.  

일반적으로 'cargo'라는 빌드 시스템 및 패키지 매니저를 사용합니다.  make파일처럼 의존성이나 기타 설정들을 작성해줄 수 있습니다.  위와같이 rust 설치를 했다면 cargo도 설치가 되어있을겁니다.  shell에서 'cargo'를 실행해서 설치유무를 확인해봅니다.

기타 cargo와 관련해서는 https://doc.rust-lang.org/stable/cargo/ 를 참고해보면 도움이 될것같습니다.