Keep Going

Keep Going

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

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

[영어] 관사 a, an, the : 부정관사와 정관사의 뜻과 쓰임

a, an, the는 영어에서 가장 자주 나오지만, 한국어에는 없는 개념이라 가장 헷갈리는 부분입니다. 게다가 이것을 설명하는 “관사 · 부정관사 · 정관사”라는 문법 용어 자체가 어렵게 느껴집니다. 그래서 이번 글에서는 용어의 …

[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 매크로 함수는 구조체에서 특정 변수의 위치나, 배열의 개수를 얻고 싶을 때 자주 …