반응형

Rust, Hello world! 예제 만들어 실행하기 

 

글. 수알치 오상문

 

(1) 커맨드 창에서 다음처럼 입력하여 프로젝트 기본 폴더를 만들고 이동합니다. 

(탐색기에서 폴더를 만든 후에 이동해도 됩니다.)

 

C:\Users\USER>cd \
C:\>md project_rust
C:\>cd project_rust
C:\project_rust>

 

(2) 이제 Rust Hello 프로젝트를 만듭니다.

 

cargo new hello <엔터>

Created binary (application) `hello` package

 

(3) src/main.rs 파일을 찾아봅니다.

hello/src 폴더에 main.rs 파일이 존재합니다.

 

(4) 텍스트 편집기를 열고, 해당 파일을 엽니다.

이미 헬로우 예제가 작성되어 있는데 C 언어 main 함수 구조와 비슷하면서도 뭔가 다릅니다.

 

fn main() {
    println!("Hello, world!");
}

 

(5) 커맨드창에서 다음처럼 입력합니다. 

cargo run

 

그러면 컴파일/빌드 작업이 진행되고 실행 결과가 화면에 나타납니다.

 

C:\project_rust\hello\src>cargo run
   Compiling hello v0.1.0 (C:\project_rust\hello)
    Finished dev [unoptimized + debuginfo] target(s) in 1.01s
     Running `C:\project_rust\hello\target\debug\hello.exe`
Hello, world!

 

(6) 실제로 만들어진 실행 파일을 찾아서 실행해봅시다. 

기본으로 아래 경로에 가면 hello.exe 실행파일을 찾을 수 있습니다.

 

hello\target\debug 

 

그곳에 있는 hello.exe를 실행하면 잘 동작하는 것을 볼 수 있습니다.

 

참고로 Rust에서 만든 실행 파일과 DevC++에서 C 언어 hello 실행 파일의 크기를 비교하니 Rust가 10% 정도 더 크지만 큰 의미는 없을 것 같습니다. 실행 코드 안정성에서는 Rust가 더 뛰어나다고 합니다.

 

Rust는 C 언어처럼 가비지 컬렉터(메모리 쓰레기 청소 기능)를 제공하지 않습니다. (자바나 Go 언어는 가비지 컬렉터 기능이 있기에 메모리 쓰레기 관리가 수월하고 안전한 편이지만 대신에 실행 속도에서 손해입니다.) 

 

그렇다고 Rust가 C 언어처럼 메모리 관리를 방치하진 않습니다. Rust는 메모리 소유권 개념을 통해 C 언어보다 메모리를 더 안전하게 다룰 수 있게 해줍니다. 메모리 소유권은 독특한 개념이라 처음 Rust 프로그래밍을 접한다면 혼란스러울 수 있습니다. 하지만 Rust 컴파일러는 문제 코드에 대한 자세한 디버깅 정보를 제시하므로 너무 걱정할 필요는 없습니다(여전히 메모리 소유권에 대한 개념은 알고 있어야 합니다만).

 

<이상>

반응형

'Rust, Zig' 카테고리의 다른 글

C/C++ 대체 언어, Zig  (0) 2024.04.07
C++ vs. 러스트 경험기, 옥찬호 개발자  (0) 2024.03.29
Rust 다운로드 및 설치  (0) 2022.05.25
Rust 언어 공식 사이트  (0) 2022.05.25
저수준 고급 프로그래밍 언어 Rust 소개  (0) 2022.05.25

+ Recent posts