본문 바로가기

전체 글

(704)
Rust. 프로젝트 구조 [1. 개요] Rust 로 application 작성 시, 규모가 커질 경우 당연하게도 소스 코드를 모듈 별로 분리할 필요가 있다. 여기서는 소스코드로 분리하는 방법을 정리한다. [2. 개념] cargo 를 이용하여 두가지 형태의 프로젝트를 생성 할 수 있다. executable library executable 형태에서는 main.rs 가 진입점이고, library 형태에서는 lib.rs 가 진입점이다. main.rs 를 기준으로 같은 디렉터리에 있는 소스코드의 경우, 파일 이름명이 바로 module 이 된다. main.rs 를 기준으로 하위 디렉터리에 있는 소스코드 중 mod.rs 는 해당 디렉터리의 상위 모듈이 되고, 그 디렉터리내 소스코드의 파일명이 하위 모듈이 된다. main.rs 에서는 키워드..
Window, C++, 예외처리 [1. 개요] 윈도우 환경에서 C++ 애플리케이션 작성 시, 예외처리 방법을 정리한다. try ~ catch __try ~ __except (SEH) Unhandled Exception Filter [2. try ~ catch] 표준 C++ 에서 제공하는 예외 처리 방법 throw 키워드를 이용해 명시적으로 발생시킨 예외를 제어한다. catch 에서 예외를 전부 제어할 수 없는 경우, 비정상 종료가 발생한다. [3. __try ~ __except] 윈도우 에서 제공하는 예외 처리 방법 # 리눅스에서는 사용 불가 (?) SEH (=Structured Error Handling) 이라고 부른다. [4. Unhandled Exception Filter] [5. GetExceptionCode() ] 발생한 ex..
Rust. 알고리즘 문제 풀이 기본 코드 구조 [1. 개요] 알고리즘 문제 풀이 시, Rust 로 작성 하는 경우, 기본 골격이 되는 코드 구조 정리 [2. 예시-01] 한줄의 입력에서 세개의 숫자를 읽고 그 숫자들의 합을 출력하는 문제 [3. 예시-02] 2줄에서 2개의 숫자를 읽고, 그 합을 출력 [3. 예시-03] EOF 를 만날 때 까지, 입력 스트림으로 부터 데이터 읽어들이고 출력