본문 바로가기
728x90

rust18

Rust에서 dll 프로젝트 생성 후 적용 Rust에서 dll(동적 링크 라이브러리)를 만든 후, 타 언어(c, python, C#, C++, java 등)에서 사용이 가능합니다.이번 시간에는 python에서 활용하는 방법에 대해 알아보고자 합니다.dll 파일 만드는 방법lib 프로젝트 생성 cargo new {{project_name}} --lib프로젝트 설정Cargo.toml에 해당 내용 추가 [lib] crate-type = ["cdylib"]함수 앞에 용어 추가 #[no_mangle] // 함수 이름이 변경되지 않도록 설정 pub extern "C" fn add(left: u64, right: u64) -> u64 { left + right }프로젝트 빌드(src 폴더로 들어가서) cargo build --release (--rel.. 2025. 1. 23.
Rust 설치부터 실행까지 (vec) - 17 오늘은 Rust의 컬렉션 중 벡터에 대해 알아보고자 합니다.일반적인 컬렉rust의 표준 라이브러리에는 컬렉션(collection)이라 불리는 매우 유용한 데이터 구조들이 여러 개 포함되어 있습니다. 내장된 배열(build-in array)이나 튜플 타입과는 달리, 이 컬렉션들이 가리키고 있는 데이터들은 힙에 저장되는데, 이는 즉 데이터의 양이 컴파일 타임에 결정되지 않아도 되며 프로그램 실행 중에 늘어나거나 줄어들 수 있다는 의미입니다. rust 프로그램에서 굉장히 자주 사용되는 세 가지 컬렉션은 다음과 같습니다.벡터(vector)는 여러 개의 값을 붙어 있게 저장할 수 있도록 해줍니다.문자열(String)은 문자(character)의 모음입니다.해시맵(hash map)은 어떤 값을 특정한 키와 연관지어.. 2025. 1. 19.
Rust 설치부터 실행까지 (crate, 절대 경로, 상대 경로, super, use, pub) - 15 오늘은 Rust의 crate, super, pub에 대해 알아보고자 합니다.패키지와 크레이트크레이트(crate)는 rust가 컴파일 한 차례에 고려하는 가장 작은 코드 단위입니다. cargo 대신 rustc를 실행하여 단일 소스 코드 파일을 넘겨주더라도, 컴파일러는 그 파일이 크레이트라고 생각합니다. 크레이트는 바이너리일 수도 있고, 라이브러리일 수도 있습니다. 바이너리 크레이트(binary crate)는 커맨드 라인 프로그램이나 서버처럼 실행 가능한 실행파일로 컴파일할 수 있는 프로그램입니다. 바이너리 크레이트는 실행파일이 실행되면 무슨 일이 일어나는지를 정의한 main 함수를 포함하고 있어야 합니다. 라이브러리 크레이트(library crate)는 main 함수를 가지고 있지 않고 실행파일 형태로 컴.. 2025. 1. 13.
Rust 설치부터 실행까지 (match, if let) - 14 오늘은 Rust의 match, if let에 대해 알아보고자 합니다.match 제어 흐름 구조rust는 match라고 불리는 매우 강력한 제어 흐름 연산자를 가지고 있는데, 일련의 패턴에 대해 어떤 값을 비교한 뒤 어떤 패턴에 매칭되었는지를 바탕으로 코드를 수행하도록 해줍니다. 패턴은 리터럴 값, 변수명, 와일드카드 등 다양한 것으로 구성될 수 있습니다. match의 힘은 패턴의 표현성으로부터 오며 컴파일러는 모두 가능한 경우가 처리되는지 검사합니다.enum Coin { Penny, Nickel, Dime, Quarter,}fn value_in_cents(coin: Coin) -> u8 { match coin { Coin::Penny => 1, Coin.. 2025. 1. 12.
728x90