시뻘건 개발 도전기

러스트 2 - How to run 본문

프로그래밍/RUST

러스트 2 - How to run

시뻘건볼때기 2019. 2. 9. 17:05
반응형

이번 장에서는 어떻게 작동이 된 것인지 DEEP하게 알아보겠습니다.


이전 장에서 실행했던 코드를 다시 가지고 와보겠습니다.


fn main() {

    println!("Hello, Rust!");

} 


이 코드는 다음과 같이 말하는 것입니다.

"나는 main이라는 함수를 만들껀데 이 함수에서는 출력을 할 꺼야. Hello, Rust!라고."




이 부분에서 의문점이 생깁니다. 왜 하필 함수명이 main인지.

main이라는 함수는 rust에서 special한 녀석입니다.

"rust program 내에서 가장 처음으로 실행되는 함수"라고 정의되어 있는 함수가 바로 main 함수가 되는 것이지요.

따라서, 실행 시키면 가장 먼저 실행되는 녀석이 main인 샘이지요.

만약 "parameter가 필요하다!"라고 한다면 ( )안에 넣어주시면 됩니다.


여기서 또 하나의 rust만이 가지는 약속이 있습니다.

#RUST TEAM에서는 rust를 다룰 때, 들여쓰기를 Tab이 아닌 4번의 space를 사용하자고 약속했습니다.

#rust의 대부분의 코드 끝에는 세미콜론(;)으로 끝나게 됩니다. 이는 표현식이 끝났음을 알리죠.

#javascript와 동일하게, rust 또한 세미콜론을 찍지 않아도 무방하지만, 같은 이슈로 인해 세미콜론을 찍음으로써 명시해주는 것이 효과적입니다.


println이 출력함수면 출력함수 인데....느낌 표(!)는 뭘까요?

rust에서는 "Macro"라 불리우는 녀석이 존재합니다.

느낌 표(!)는 Macro를 의미합니다. 우리가 알고 있는 함수라는 녀석과는 다른 녀석이죠..

"아! 출력 매크로를 호출하는구나!"라고 이해하시면 됩니다.

도대체 Macro가 뭐하는 놈인지.. 참 궁금하네요 ㅎㅎㅎ




코드를 작성 하였으니, 컴파일을 진행 했죠?

눈치 채신 분들이 계시겠지만 rustc는 gcc와 비슷한 녀석입니다. C 혹은 C++을 컴파일하는 녀석이 gcc인 것처럼, rust를 컴파일하는 녀석은 rustc인 것이죠.

rust 파일을 컴파일을 하면 rustc가 binary 파일을 뱉습니다. 우리는 이 파일을 실행 시키지요.




어떤 언어를 공부할 때 항상 "그래서 대체 이 언어가 왜 좋은데?"부터 시작되기 마련..(나만 그런가..?)

그래서 준비했습니다. rust의 장점을.

 1. ahead-of-time compiled 언어라는 것.

 ☞ Python, javascript 또는 Ruby 등과 같은 녀석들은 각각의 구현체가 설치 되어있어야하는데....

 ☞ 실행파일을 누군가 실행하려고 할 때, rust가 설치되어 있지 않아도 실행 가능하다!!!

 2. "Cargo"라고 하는 굉장히 좋은 Build System&Package Manager가 있다.

 ☞ 프로젝트 관리 편의

 ☞ Dependency Library 다운




Note Ex.

1. Macro 호출이 아닌, 일반적인 함수 호출을 사용해보기

2. 실행할 때, parameter를 받아 출력하기

3. 세미콜론(;)을 찍지 않고 돌려보기

4. 함수명 변경해보기

5. 새로운 함수 선언 및 호출해보기

6. fn이라는 예약어 외에 다른 예약어 찾아보기


반응형

'프로그래밍 > RUST' 카테고리의 다른 글

러스트 5 - 변수와 타입 #2  (0) 2019.02.16
러스트 4 - 변수와 타입 #1  (0) 2019.02.16
러스트 3 - Cargo  (0) 2019.02.10
러스트 1 - Hello Rust!  (0) 2019.02.09
개발환경  (0) 2019.02.09
Comments