전체 글52 [MFC] GDI+ 사용하기 GDI+는 Microsoft Windows 운영 체제에서 그래픽을 그리고 이미지를 처리하는 데 사용되는 API입니다. "GDI+"는 "Graphics Device Interface Plus"의 약자로, 이는 이전 버전의 GDI (Graphics Device Interface)를 확장하고 개선한 것이다. 여러 가지 그래픽 작업을 수행하는 데 사용되며, 주로 그림 그리기, 이미지 처리, 출력 장치와의 상호 작용 등에 활용된다. 1. pch.h 수정 pch.h 헤더 파일에 들어가서 위의 사진과 같이 3줄을 추가해준다. #include 는 해당 헤더 파일을 사용하겠다고 정의하는 의미이다. #pragma comment(lib, "gdiplus") 이 지시문은 'gdiplus.lib' 라는 라이브러리 파일을 현재 .. 2023. 12. 5. [C++] 스레드 개념과 예시 Thread 란? 프로세스 내에서 독립적인 실행 흐름을 갖는 작은 실행 단위이다. 일반적으로 한 프로그램은 하나의 스레드를 가지지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이것을 멀티스레드라고 한다. 멀티 스레드를 사용하게 될 경우 병렬 처리로써 여러 작업을 동시에 수행하므로 전체적인 처리 속도를 높일 수 있고, 하나의 스레드가 중단되거나 멈춰도 다른 스레드가 계속해서 실행되므로 응답성이 향상될 수 있지만, 스레드간 동기화도 해줘야하고 작업하고자 하는 양이 적으면 스레드를 생성하는데 소요되는 시간이 더 커서 오버헤드가 발생하는 등의 단점도 있다. Thread 구현 방법 피보나치 수열의 계산을 예시로 들었고, 메인 함수에서 x 값을 조정해 하나의 스레드와, 두개의 스레드간 시간.. 2023. 11. 28. [C++] 힙 개념과 구현 방법 Heap 이란? 자료구조 중 하나로, 동적으로 데이터를 관리하는 데 사용되며 '최댓값' 혹은 '최솟값'을 빠르게 찾아낼 수 있는 자료구조이다. 형태는 이진 트리의 형태를 가지며 주로 우선순위 큐, 힙 정렬 등의 알고리즘에서 사용된다. 여기서 이진 트리란 하나의 부모 노드는 최대 2개의 자식 노드를 가진 형태를 말한다. Heap 구현 방법 ( 최소힙 ) 이진 트리의 가장 마지막 노드 다음에 값을 삽입한다. 부모 노드와 값을 비교하여 부모 노드보다 작은 값이라면 부모 노드와 값을 Swap 해준다. 스왑을 해줬다면 해당 노드에서도 부모 노드가 있는지 체크해서 다시 Swap을 해준다. 이와 같은 작업을 계속해서 반복해준다. Heap 구현 코드 #include #include template class Heap .. 2023. 11. 22. [C++] Vector 정의 및 사용법 Vector 란? STL 컨테이너의 하나인 Vector는 동적 배열로 구현한 클래스로써 크기가 동적으로 조절된다. 배열과 비슷하지만 크기를 변경할 수 있고 여러 유용한 멤버 함수를 제공한다. 값의 삽입과 삭제는 맨 뒤 인덱스에서 가능하고, 중간에 값을 삽입 하거나 삭제할 수도 있지만 해당 위치 이후의 모든 요소를 이동시켜야 하므로 비효율적이다. ▶ Vector 사용법 #include 헤더파일을 추가한다. using namespace std; 를 사용하면 편리하게 사용할 수 있다. 선언법은 vector (변수명) 이다. ▶ Vector 생성자 # 비어있는 vector v 생성 vector v; # 기본값(0)으로 초기화 된 3개의 원소를 가진 vector v 생성 vector v(3); # 2로 초기화 된.. 2023. 11. 21. 이전 1 2 3 4 ··· 13 다음