Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 마켓메이킹
- result타입
- 메모리
- 가변참조
- 저항
- fizz
- 스레드안전
- 채널
- 트레이딩플랫폼
- 불변참조
- 파이썬
- 지지
- closure
- concat!
- &args
- 러스트
- format_args!
- 히코우즈쿠에
- 시장조성
- 클로저
- 가변변수
- match
- toml
- 소유권
- crates
- 러스트철학
- println!
- listcomprehension
- 정적타입
- 빗각
Archives
- Today
- Total
unanimous0
[RUST 2-1] Cargo & Crates 본문
- Cargo
- 빌드 도구 & 패키지 관리자 (파이썬의 pip, Node.js의 npm)
- Crate 관리 기능 : 단순히 크레이트를 추가하는 거싱 아닌 크레이트의 다른 의존 관계 크레이트도 파악해 한 번에 다운로드 진행
- 자신이 만든 크레이트를 crates.io에 등록할 수 있음
- crates.io : 전 세계의 러스트 이용자가 만든 크레이트를 등록하거나 다운로드 할 수 있는 웹 서비스
- Cargo의 주요 기능
Cargo 기능 | 명령 |
프로젝트 및 템플릿 생성 | cargo new 프로젝트이름 |
프로젝트 빌드 | cargo build |
프로젝트 실행 | cargo run |
프로젝트 내의 러스트 문법 체크 | cargo check |
프로젝트 테스트 | cargo test |
문서 생성 | cargo doc |
라이브러리 공개 | cargo publish |
- Cargo.toml (Manifest file)
- [cargo new 프로젝트명]으로 새로운 프로젝트를 만들면 프로젝트 루트 디렉터리에 "Cargo.toml" 파일이 생성됨
- Cargo.toml : "매니페스트 파일" : 러스트 프로젝트의 기본 정보 및 설정 정보가 저장되며, 이 파일에 크레이트 의존 관계도 함께 기록됨
- Manifest File : 컴퓨팅에서 집합의 일부 또는 논리정연한 단위인 파일들의 그룹을 위한 메타데이터를 포함하는 파일 (Ex. 컴퓨터 프로그램의 파일들은 이름, 버번, 라이센스, 프로그램의 구성 파일들을 갖춤)
사용하려는 크레이트/라이브러리는 매니페스트 파일인 Cargo.toml 중 'dependencies'라는테이블에 크레이트 이름과 필요한 버전을 기입하면 됨 - TOML 형식 : TOML은 설정 파일 작성을 위한 언어 (가독성이 높은 것이 특징으로 필요한 최소한의 기능만 갖추고 있음)
- 빌드 명령 : cargo build & cargo run
- "cargo run"은 엄밀히 말해 프로젝트를 빌드하는 명령이 아님
- 프로젝트가 빌드되어야 실행이 되기 때문에 빌드 작업이 이루어지는 것 뿐
- cargo run으로 한 번 빌드된 프로젝트는 target/debug 안에 실행 바이너리가 생성되므로 이후에는 빌드 없이 실행 가능 (물론 소스 코드를 수정한 경우에는 다시 빌드한 뒤 실행됨)
- cargo build는 순수한 빌드를 위해 실행됨
- cargo build --release 옵션으로 빌드를 실행하면 target/release 디렉터리에 실행 바이너리가 생성되며, 최적화도 기본적으로 수행하므로 실행 바이너리의 용량이 더 작아지고 속도도 빨라짐
- 빌드 명령 : cargo build & cargo run
- Manifest File : 컴퓨팅에서 집합의 일부 또는 논리정연한 단위인 파일들의 그룹을 위한 메타데이터를 포함하는 파일 (Ex. 컴퓨터 프로그램의 파일들은 이름, 버번, 라이센스, 프로그램의 구성 파일들을 갖춤)
# 프로젝트 기본 정보를 아래에 기입
[package]
name = "test_rust"
version = "0.1.0"
edition = "2021"
# 의존 크레이트(라이브러리)를 아래에 기입
[dependencies]
num-bigint = "0.4"
- 크레이트 모듈 사용법
- 기본 사용법 (파이썬의 from ... import ... 와 비슷함)
- use 크레이트명::모듈;
- use 크레이트명::모듈1::모듈1-1;
- use 크레이트명::{모듈A, 모듈B};
- 기본 사용법 (파이썬의 from ... import ... 와 비슷함)
'RUST' 카테고리의 다른 글
[RUST 2-3] 표준입력과 Result 타입 (0) | 2025.03.11 |
---|---|
[RUST 2-2] 난수를 이용한 미로 만들기 (Binary Tree) (0) | 2025.03.11 |
[RUST 1-7] 참조 (0) | 2025.03.02 |
[RUST 1-6] 클로저(Closure)와 시저함수 (0) | 2025.03.01 |
[RUST 1-5] 러스트의 불변/가변 변수와 철학 (2) | 2025.03.01 |