[카테고리:] <span>C++</span>

[카테고리:] C++

[C++/Win32] GetLastError, FormatMessage : 에러 코드를 메시지로 바꾸기

개요 안녕하세요. 이번 글에서는 Win32 API로 개발할 때 꼭 필요한 GetLastError와 FormatMessage에 대해 알아보겠습니다. 대부분의 Win32 함수는 실패하면 FALSE나 NULL만 돌려줄 뿐, 왜 실패했는지는 알려주지 않습니다. 그 이유는 에러 코드로 …

[C++] 스마트 포인터 : unique_ptr, shared_ptr, weak_ptr

개요 안녕하세요. 이번 글에서는 C++의 스마트 포인터(smart pointer)에 대해 알아보겠습니다. C++에서 new로 할당한 메모리는 delete로 직접 해제해야 하는데, 해제를 빠뜨리거나 중간에 예외가 발생하면 메모리 누수(memory leak)가 생깁니다. 스마트 포인터는 이런 …

[C++/Win32] offsetof, _countof, std::size : 구조체, 배열 분석 함수

개요 안녕하세요. 이번 글에서는 C, C++ 에서 구조체 분석을 할 때 자주 사용되는 함수에 대해 알아보겠습니다. offsetof와 _countof 매크로 함수는 구조체에서 특정 변수의 위치나, 배열의 개수를 얻고 싶을 때 자주 …

[WinAPI] 윈도우 임시 폴더 경로, 임시 파일 이름 얻기 – GetTempPath, GetTempFileName

윈도우에는 임시 파일을 저장하는 임시 폴더가 있습니다. 프로그램이 임시로 만든 파일들을 생성하는 폴더인데 잡다한 파일들이 다 있습니다.프로그램을 개발하는 개발자 입장에서는, 프로그램에 실행 시 자주 반복되면서 시간이 오래 걸리는 것들을 임시 …

[C++] sscanf_s, _stscanf_s

함수를 까먹어서 기록하기 위한 글입니다.어떤 문자열이 있을 때 정해진 포맷이 있다면 그 포맷에서 데이터를 추출하는 경우가 있습니다. C++인 경우엔 regex를 사용하면 정확한 문자열 검증이 가능하지만, 간단하게 사용할 수 있는 sscanf_s …

[Qt] QMutex

이번 글에서는 QMutex에 대해 알아보겠습니다. QMutex는 멀티 쓰레드 상황에서 공유된 자원에 대해 동시에 엑세스 할 때 사용되는 동기화 클래스 입니다. QMutex를 사용하기 위해서는 아래와 같이 헤더 파일을 include 해야합니다. QMutex의 …

[Qt] QThread

이번 글에서는 Qt 에서 QThread를 사용하는 방법에 대해 알아보겠습니다. QThread는 QTimer와 다르게 신호를 발생시키지 않고, 별도의 쓰레드를 생성하여 특정 작업을 수행합니다. QThread에서 자주 사용하는 함수들은 아래와 같습니다. MyThread 클래스 생성 …