본문 바로가기

프로그래밍/RUST

(4)
[RUST] 인자 입력 받아 명령 프로세스 실행하기 rust 에서 std::process::Command 를 사용해 cmd 명령이나 파일을 실행 할 수 있는데, 어떤 객체들이 사용되는지 대략적으로 살펴본다. useuse std::error::Error as StdError;use std::fmt;use std::io::Read;use std::os::windows::process::CommandExt; // creation flaguse std::process::{self, Command, Stdio, ExitStatus};use std::env;use std::path::Path; 호출 결과 구조체struct ProcessResult { stdout: Vec, stderr: Vec, exit_status: ExitStatus,} 에러처리..
[RUST] https 를 통해 파일 다운로드 간단 샘플 Cargo.toml사용할 모듈 정보를 입력한다.tokio: 파일, asyncreqwest : httpmain을 async로 동작시키려면 tokio feature중 "rt" or "rt-multi-thread", "macros" 필요https 사용을 위해 reqwest feature 중 "rustls-tls" or "native-tls" 필요[package]name = "sample"version = "0.1.0"edition = "2021"[features]default = [][dependencies]tokio = { version = "1", features = [ "fs", "rt-multi-thread", "macros"] }reqwest = { version = "0.12", features =..
[RUST] 다른 언어와 다른 부분, 특징 정리 중.... 러스트를 전체적으로 살펴보다가 좀 특이한 것들만 정리.일단 대략 파악만 하고... 좀더 세부적으로 살펴봐야 할 내용들이 많음. 엔트리포인트크레이트 루트 바이너리 : src/main.rs 라이브러리 : src/lib.rs 모듈 선언루트와 같은 파일에 있는 경우 모듈 정의mod module {}별도 파일로 모듈 정의src/module.rsorsrc/module/mod.rs별도 파일로 모듈을 구성한 경우 크레이트 루트에 모듈 정의mod module;서브모듈 선언 : 모듈안에 선언된 모듈 서브모듈을 가진 모듈도 모듈 폴더 아래에 위치해야 함.// 모듈src/module/mod.rs// 서브모듈src/module/submodule.rs or src/module/submodule/mod.rs코드참조직접참조 : cr..
[RUST] cargo 기본 사용법 프로젝트 생성새 폴더에 프로젝트 생성 및 초기화cargo new project_namecd project_name 기존 폴더에 프로젝트만 초기화cargo init 생성시 인자--bin : 바이너리 형태 배포, main.rs 생성됨--lib : 라이브러리 형태 배포, lib.rs 생성됨 패키지 설정패키지 설정을 위한 Manifest는 Cargo.toml 파일이며, 해당 파일을 직접 수정한다.패키지[package]name = "패키지명"version = "0.0.1"authors = ["author1", "author2"]edition = "2024"description = "설명"license = "라이센스"repository = "git"homepage = "homepage"categories = ["c..