공부공부

Rust 설치 및 Hello World 출력

nayoon 2023. 11. 4. 16:13

Rust 설치

공홈에도 나와있지만 제일 선호되는 러스트 설치방법은 Rustup이라는 커맨드 도구를 이용하는 것

이외 방법도 있다고 나와있음.

 

rustup

rustup이란 러스트 버전 관리 및 관련 도구를 위한 커맨드 라인 도구

 

rustup 설치과정

$ curl https://sh.rustup.rs -sSf | sh

 

위의 명령어를 입력하면 아래와 같이 설치가 된다.

 

위의 화면에서 설치 옵션을 선택할 수 있는데 default로 설치를 진행했다. (1 입력)

 

 

위의 과정까지 마쳤다면 러스트 설치가 완료되었다.

 

옵션

터미널 재시작 없이 곧바로 러스트를 쓰고 싶다면 위의 명령어를 입력해서 시스템 패스에 곧장 추가하는 방법이 있다.

$ source $HOME/.cargo/env

 

터미널 종료 후 재시작하면 다음 로그인부터 자동으로 시스템 패스에 러스트가 추가되기 때문에 위의 과정이 불필요하다.

 

설치 확인

잘 설치되었는지 확인하기 위해 버전 확인을 해본다.

 

 

로컬 문서 확인

 

위와 같이 커맨드 라인에 검색하게 되면 공식 문서 복사본을 로컬에서도 확인할 수 있다.

위의 명령어를 입력하면 냅다 문서가 뜨니 인터넷이 안되는 곳에서도 보면서 개발이 가능하다.

(공식 문서 쳐돌이로서 매우 만족스럽다..)

 

Hello World 출력 시도

설치가 끝났으니 Hello World를 출력해보겠습니다.

 

디렉토리는 터미널에서 만들었고 코드는 vscode에서 해보겠어요.

 

컴파일 커맨드 명령어는 아래와 같다.

$ rustc main.rs

 

그랬더니 위와 같은 에러를 보게되었는데 드는 생각은 '설치하기' 진행 도중 링커에 대해 걱정해주던 글..

위의 글은 '설치하기'에서 설명되어있습니다.

 

링커가 뭔지 모를때..

더보기

https://kkhipp.tistory.com/161

 

컴파일(Compile), 빌드(Build), 링커(Linker), 로더(Loader)

컴파일러란? 고급언어(C, CHILL, FORTRAN, COBOL)로 작성된 프로그램을 기계어(0,1)로 번역하는 것 즉 개발자가 고급언어로 프로그래밍 한 코드를 CPU가 이해할 수 있게 변환해주는 것이 컴파일러입니다.

kkhipp.tistory.com

 

컴파일

고급 언어로 작성된 프로그램을 기계어(0과 1)로 번역하는 것을 말하고 이를 위해 사용하는 도구가 컴파일러이다.

 

프로그래밍을 조금이라도 주워들은 사람이라면 '빌드'라는 단어도 알고 있을텐데

 

컴파일은 프로그래밍 언어를 기계어로 번역해주는 것을 말하고

빌드는 하나의 실행 파일을 만드는 것으로 빌드 과정에 컴파일이 포함되어 있다고 생각하면 된다.

 

링커

목적 파일들을 합쳐서 하나의 실행 가능한 파일을 만드는 도구

 

엄밀히 말하면

 

고급 언어를 어셈블리어로 번역한 후 컴파일러가 어셈블리어를 기계어로 번역한다.

기계어로 번역한 파일을 목적 파일이라고 하며 코드에 사용된 함수의 라이브러리 등을 가져와 하나로 묶어주는 작업을 링킹이라고 하며 이를 위해 사용하는 도구를 링커라고 한다.

 

로더

링커가 만든 실행파일을 메모리에 올리는 도구

 

링커가 만든 실행 파일만으로는 실행이 안되고 로더가 메모리에 파일을 올려야만 실행이 가능하다.

 

아무튼 나는 링커가 없다니까 설치를 해준다.

공홈 문서를 따라 C컴파일러를 설치해주기로 한다.

 

GCC 컴파일러 설치

command line tools를 설치한다.

 

동의를 누르면 아래와 같이 소프트웨어 다운로드 중이 뜨는데 그 전에 배터리 걱정을 한번 해준다.

처음엔 190시간이 뜬다.

 

좀 기다리면 정신을 차린다.

 

근데 이러고 다시 10분 남았다고 떴는데 아마 컴퓨터따라 다를 거 같다.

 

설치 완료 후 버전 체크를 해준다.

 

 

Hello World 출력 재시도

잘 뜨니 이제 다시 컴파일을 해주자.

 

컴파일 시 에러도 안뜨고 확인해보니 실행 파일도 잘 생성되었고 아래를 보면 실행도 잘된다.

 

러스트는 ahead-of-time compiled 언어로 컴파일해서 실행 파일을 러스트가 설치되지 않은 컴퓨터에서 실행 가능하다.

ruby, javascript, python과 같은 파일은 코드 파일을 넘겨받아서 실행해야하지만 러스트를 그렇지 않다.

 

왜냐하면 러스트는 컴파일과 실행이 분리된 언어이기 때문이다. (c나 c++과 같이)

 

 

'공부공부' 카테고리의 다른 글

Rust Cargo  (0) 2023.11.04
토익2023.08.14  (0) 2023.08.14
공부공부-20230726(스터디, Go, 쿠버네티스)  (0) 2023.07.26
공부공부-230529  (1) 2023.05.29
공부공부-230528  (0) 2023.05.28