-
러스트 시작하기프로그래밍 언어/rust 2025. 4. 12. 21:23반응형
💡 이 문서는 The Rust Programming Language를 보고 재구성하였습니다.
러스트 설치하기
러스트를 설치하기 위해서
rustup
CLI 도구를 설치합니다.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 uninstall
Hello 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_world
hello_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