Rust Tip

2023. 7. 29. 20:30카테고리 없음

728x90

요즘 러스트 언어를 공부할 생각인데 공부하면서 팁을 이 포스트에 적기로 한다.

추천하고 싶은 문서는 (https://rinthel.github.io/rust-lang-book-ko/ch01-01-installation.html)인데 혹 더 좋은 것이 있다면 교체될 수 있다.

 

이 포스트를 읽을 때의 법칙:

  • 커맨드에 []라 써져 있을 경우 해당 명령은 필수
  • 커맨드에 ()라 써져 있을 경우 해당 명령은 옵션

 


설치

  • 리눅스
    • rustup 패키지를 통한 설치
      • rustup로 설치할 경우 언제나 최신의 안정화된 버전의 러스트를 설치한다 
      • curl https://sh.rustup.rs -sSf | sh 입력
      • "Rust is installed now. Great!"라는 글자가 출력되었다면 정상 설치
      • 설치 후 해당 쉘에서 즉시 사용하려면 추가 커맨드를 입력해야 되는데 그냥 쉘 재시작으로 실행하면 적용된다
  • 윈도우
    • 설치해 본 적이 없기 때문에 나중에 설치한다면 문서 기입

업데이트

  • rustup update 입력

삭제

  • rustup self uninstall 입력(rust와 rustup을 가치 삭제한다)

러스트 버전 확인

  • rustc --version 입력

rustc

  • 컴파일하기 위한 도구(기본 설치됨)

rustfmt

  • 러스트 문법 자동 포맷팅(기본 설치됨)

cargo

  • 러스트 기반 코드 작성 시 코드가 사용하는 외부 라이브러리(의존성) 패키지 다운로드 및 빌드 관리 도구(기본 설치됨)
  • 버전 확인
    • cargo --version 입력
  • 보통 러스트 프로그램을 만든다는 건 cargo를 사용한다는 의미
  • 프로젝트 생성
  • cargo new [프로젝트명] --bin
    • --bin 인자를 붙일 경우 실행할 프로그램을 생성
    • 예) cargo new hello_cargo --bin 입력

  • 프로젝트 디버그 빌드
    • 프로젝트 디렉터리 안에서 실행
    • cargo build 입력

  • 프로그램 실행
    • 생성된 프로그램명 실행
      • 예) target/debug/hello_cargo

  • 프로그램 빌드와 실행을 연속으로 하기 위한 커맨드
    • cargo run
      • 만약 빌드 후 소스 코드에 변화가 없는 상태에서 커맨드 입력 시 실행만 함

  • 만약 소스 코드가 변경된 상태에서 커맨드 입력 시 빌드 후 실행

  • 프로그램 빌드 가능 유무 체크
  • 실제 빌드는 하지 않지만 소스코드가 빌드 가능한 상태인지 확인하고 싶을 경우 사용
  • cargo check 입력

  • 빌드 불가능한 소스코드를 가지고 있는 상태에서 check 할 경우 에러 메시지 출력

  • 프로젝트 릴리즈 빌드
    • cargo build --release
    • 최적화를 했기 때문에 디버그 폴더와 비교


크레이트(패키지) 업데이트

  • Rust는 라이브러리를 crates(package)라고 함
  • 크레이트 업그레이드
    • cargo update입력
      • 중간 버전 중에 최대 업데이트 버전을 찾아서 업데이트 진행
      • 예) rand = "0.3.14"를 rand = "0.3.23"으로 업그레이드됨
    • 중간 버전도 업데이트되는 최신버전을 업데이트하고 싶을 경우 Cargo.toml파일에서 버전 변경 후 cargo build입력
      • 예) rand = "0.3.14"를 rand = "0.8.0"으로 업그레이드하고 싶다면 Cargo.toml파일 열고 변경 후 cargo build 입력

 

  • 화면설명
    • Cargo.toml 파일에서 rand = "0.3.14" 입력(화면에는 안보임)
    • cargo build 입력 후 크레이트 다운로드
    • Cargo.toml 파일에서 rand = "0.8.5" 입력(화면에는 안보임)
    • cargo upgrade 입력. 버전 업데이트는 일어나지 않음
      • 왜냐면 0.3 버전에서 0.8 버전은 update 명령어가 아니라 build로 해야 함
    • cargo build 입력 후 버전 업그레이드 진행
  • 크레이트 문서 확인
    • 현재 사용 중인 크레이트의 사용법을 알고 싶은 경우 cargo doc --open 입력
    • 사용중인 크레이트 다운로드 후 오픈. 오픈 후 원하는 크레이트 명 입력


  • VS Code
    • Rust를 사용하기 위해 확장 프로그램 설치
      • rust-analyzer : 코드 힌트, 자동 완성 등 기능 제공
      • CodeLLDB : Linux 환경에서 VS Code로 디버깅 지원

부록. A

VS Code - Rust Desc Link

https://code.visualstudio.com/docs/languages/rust