-
러스트 시작하기프로그래밍 언어/rust 2025. 4. 12. 21:23반응형
💡 이 문서는 The Rust Programming Language를 보고 재구성하였습니다.
러스트 설치하기
러스트를 설치하기 위해서
rustupCLI 도구를 설치합니다.rustup도구는 러스트 컴파일러인rustc, 파일을 깔끔하게 코드 스타일을 관리할 수 있는 포매터rustfmt, 그리고 라이브러리 의존성을 관리할 수 있는cargo등의 도구들이 모두 들어있기 때문에 간편하게 러스트 개발 환경을 구성할 수 있습니다.리눅스 및 맥 환경에 설치하기
다음 명령어를 입력하여 설치합니다.
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh설치가 완료되면 다음 문구가 나타납니다.
Rust is installed now. Great!⚠️ 이 단계에서 C 컴파일러 설치가 필요할 수 있습니다!
러스트 링커의 경우, 기본으로 설치됩니다. 그러나, 컴파일 시 실행할 수 없다는 에러가 나타날 수 있습니다. 이 경우에, 각 운영 환경에 맞는 C 컴파일러가 필요합니다.
리눅스:
일반적으로 `gcc` 나 `Clang` 이 설치되어 있습니다. 만약 설치되지 않은 경우 우분투의 `build-essential` 같은 기본 패키지를 재설치하면 컴파일러를 설치할 수 있습니다.
맥:
다음 명령어로 설치할 수 있습니다.$ xcode-select --install업데이트 및 설치
다음 명령어들로
rustup을 업데이트 및 삭제할 수 있습니다.업데이트:
$ rustup update삭제:
$ rustup self uninstallHello World!
💡 적절한 코드 에디터 혹은 IDE를 설치하세요!
이 절을 진행하기 이전에, 러스트 개발하기 좋은 코드 에디터 혹은 IDE를 설치해주세요. 대표적인 코드 에디터로는 `VSCode`, `Cursor AI` , `Wind Surf` 가 있고, IDE로는 `RustRover` 가 있습니다.Hello World!란 프로그래밍 언어를 배울 때, 관례적으로 만드는, 단순히Hello World!라는 문자열을 출력하는 프로그램입니다.프로젝트 디렉토리 생성하기
먼저 다음 명령어를 이용하여 프로젝트를 생성하세요!
# 프로젝트 모음 디렉토리 생성 $ mkdir ~/projects # 프로젝트 모음 디렉토리로 이동 $ cd ~/projects # Hello World! 프로젝트 생성 $ mkdir hello_world # Hello World! 프로젝트 이동 $ cd hello_world러스트 프로그램 작성하고 실행하기
이제
main.rs를 다음과 같이 작성합니다.fn main() { println!("Hello, World!"); }그 후, 터미널에 다음을 입력하여, “컴파일”합니다.
$ rustc main.rs그럼 프로젝트 디렉토리 내에
main이라는 실행 파일이 생성됩니다.$ ls main main.rs다음과 같이 우리가 생성한 프로그램을 실행할 수 있습니다.
$ ./main Hello, World!러스트 프로그램 뜯어보기
먼저 살펴볼 부분은 다음과 같습니다.
fn main() { // ... }이 부분은 러스트에서
main함수를 정의한 것입니다. 일반적으로main함수는 특별한 함수로써 실행 프로그램에서 가장 먼저 실행되는 부분입니다. 여기서는 프로그램 실행 매개 변수를 아무것도 받지 않았지만, 매개 변수를 받고 싶다면()이 부분에 매개 변수를 작성해야 합니다.러스트에서 함수 본문은 항상
{}로 감싸주어야 합니다. 이제main함수 내 코드를 살펴봅시다.println!("Hello, World!");위 코드가 실제 로직인
Hello, World!를 출력하는 코드입니다. 대표적으로 세가지만 살펴봅시다.먼저
println!은 매크로입니다. 여기서는 호출 부에!가 붙은 건 매크로라고 알아둡시다. 이 매크로는()안의 문자열을 출력합니다.두 번째는,
"Hello, World!"는 문자열 리터럴입니다. 리터럴이란 일반적으로 고정된 값을 의미합니다. 숫자나 문자(’’), 문자열(””)이 대표적인 리터럴입니다.마지막으로 러스트는 모든 표현식 뒤에
;붙여야 합니다. 러스트 코드의 거의 모든 라인이 이 문자로 끝난다는 것을 알아두세요.Hello Cargo!
이번에는 cargo 를 이용하여 러스트 애플리케이션을 만들어보겠습니다. cargo 란 러스트의 빌드 도구이자 패키지 매니저입니다. 간단한 프로그램이라면, “Hello World!” 프로젝트처럼 간단하게 러스트 코드를 작성하고 rustc 로 컴파일 후 실행해도 좋습니다. 하지만 애플리케이션이 복잡해질수록 cargo 를 이용하는 것을 권장드립니다. 이 도구는 코드 빌드나, 코드 작성에 필요한 외부 라이브러리를 다운로드할 때나, 라이브러리를 제작할 때 겪는 귀찮은 일들을 상당수 줄여주는 편리한 도구입니다
카고로 프로젝트 생성하기
먼저 프로젝트 모음ㅁ 디렉토리로 이동합니다.
# 프로젝트 모음 디렉토리로 이동 $ cd ~/projects프로젝트 모음 디렉토리에서 현재 생성된 프로젝트 목록을 확인해보겠습니다.
# 프로젝트 목록 확인 $ ls hello_world이제 cargo 로 프로젝트를 생성해봅시다. 다음 명령어를 입력해주세요.
# cargo로 프로젝트 생성 # cargo new <프로젝트 이름> $ cargo new hello_cargo다시 프로젝트 목록을 확인해봅시다.
# 프로젝트 목록 확인 $ ls hello_cargo hello_worldhello_cargo 프로젝트가 생성된 것을 확인할 수 있습니다. 이제 디렉토리로 이동한 후 어떻게 디렉토리가 구성되었는지 확인해보겠습니다.
# hello_cargo 프로젝트 이동 $ cd hello_cargo # 디렉토리 구성 확인 $ tree . ├── hello_cargo │ ├── Cargo.toml │ └── src │ └── main.rs └── hello_world └── main.rs 4 directories, 3 files이제 생성된 src/main.rs 코드를 확인해봅시다.
fn main() { println!("Hello, world!"); }Hello World! 프로젝트와 거의 동일한 코드가 생성된 것을 확인할 수 있습니다.
카고로 애플리케이션 실행하기
이제 애플리케이션을 실행해보도록 하겠습니다. 터미널에 cargo run 이란 명령어를 실행해봅시다.
# 프로젝트 실행 $ cargo run Compiling hello_cargo v0.1.0 (/home/gurumee/Workspaces/studies/the-rust-programming-language/hello_cargo) Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.42s Running `target/debug/hello_cargo` Hello, world!다시 src/main.rs 에서 다음처럼 수정해보겠습니다.
fn main() { println!("Hello, Cargo!"); }그 후 다시 cargo run 명령어로 애플리케이션을 실행해봅시다.
# 프로젝트 실행 $ cargo run Compiling hello_cargo v0.1.0 (/home/gurumee/Workspaces/studies/the-rust-programming-language/hello_cargo) Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.18s Running `target/debug/hello_cargo` Hello, Cargo!카고로 애플리케이션 빌드하기
이제 마지막으로 애플리케이션을 빌드하고 실행해보겠습니다. 터미널에 cargo build 명령어를 실행해봅시다.
$ cargo build Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.00s기본적으로 빌드하면, 개발 환경으로 빌드가 실행됩니다. 빌드 후, target/debug 폴더에 hello_cargo 란 실행 파일이 생성됩니다. 이제 실행 파일을 생성해봅시다.
$ ./target/debug/hello_cargo Hello, Cargo!결국 cargo run 이란 명령어는 빌드 후 실행 파일을 실행하는 것을 축약한 명령어입니다. 실제 프로덕션 환경에 배포할 애플리케이션을 빌드하려면 터미널에 다음과 같이 명령어를 입력하면 됩니다.
$ cargo build --release Compiling hello_cargo v0.1.0 (/home/gurumee/Workspaces/studies/the-rust-programming-language/hello_cargo) Finished `release` profile [optimized] target(s) in 0.15s그럼 마찬가지로 target/release 폴더에 실행 파일이 생성됩니다.
728x90반응형