[C++/Win32] GetLastError, FormatMessage : 에러 코드를 메시지로 바꾸기
개요 안녕하세요. 이번 글에서는 Win32 API로 개발할 때 꼭 필요한 GetLastError와 FormatMessage에 대해 알아보겠습니다. 대부분의 Win32 함수는 실패하면 FALSE나 NULL만 돌려줄 뿐, 왜 실패했는지는 알려주지 않습니다. 그 이유는 에러 코드로 …
개요 안녕하세요. 이번 글에서는 Win32 API로 개발할 때 꼭 필요한 GetLastError와 FormatMessage에 대해 알아보겠습니다. 대부분의 Win32 함수는 실패하면 FALSE나 NULL만 돌려줄 뿐, 왜 실패했는지는 알려주지 않습니다. 그 이유는 에러 코드로 …
한국어로는 “~에”로 뭉뚱그려지는 시간·장소 표현이, 영어에서는 in · on · at 세 가지로 나뉩니다. 규칙이 많아 보이지만 핵심은 “넓은 범위일수록 in, 좁은 한 지점일수록 at”이라는 흐름 하나입니다. 한눈에 보기 전치사 …
a, an, the는 영어에서 가장 자주 나오지만, 한국어에는 없는 개념이라 가장 헷갈리는 부분입니다. 게다가 이것을 설명하는 “관사 · 부정관사 · 정관사”라는 문법 용어 자체가 어렵게 느껴집니다. 그래서 이번 글에서는 용어의 …
“~할 수 있다”를 영어로 옮길 때 대부분 can을 떠올립니다. 그런데 상황에 따라 could나 be able to를 써야 자연스러운 경우가 있습니다. 특히 과거의 한 번뿐인 성공이나 미래의 능력을 말할 때는 can이나 …
개요 안녕하세요. 이번 글에서는 C++11에서 도입된 이동 시맨틱(move semantics)에 대해 알아보겠습니다. 기존 C++에서는 객체를 다른 곳에 넘길 때 항상 복사가 일어났습니다. 그런데 곧 사라질 임시 객체까지 굳이 복사하는 것은 낭비입니다. …
한국어로는 “~할 거야 / ~할 것이다” 하나로 말하지만, 영어의 미래 표현은 will과 be going to로 나뉩니다. 둘 다 미래를 가리키지만 뉘앙스가 다릅니다. 핵심 기준은 그 일을 지금 막 정했는가, 아니면 …
개요 안녕하세요. 이번 글에서는 C++의 스마트 포인터(smart pointer)에 대해 알아보겠습니다. C++에서 new로 할당한 메모리는 delete로 직접 해제해야 하는데, 해제를 빠뜨리거나 중간에 예외가 발생하면 메모리 누수(memory leak)가 생깁니다. 스마트 포인터는 이런 …
한국어로는 다 ‘~했다’지만 영어는 단순 과거와 현재완료를 구분합니다. 과거 시점이 분명하면 과거, 지금과 연결되면 현재완료 — 비교표와 헷갈리는 짝(been to vs gone to, for vs since)까지 정리합니다.
같은 ‘~해야 한다’라도 영어는 have to, must, need to, should, be supposed to로 강도와 뉘앙스가 다릅니다. 각 표현의 차이와 부정형(don’t have to vs must not)을 예문으로 정리합니다.
개요 안녕하세요. 이번 글에서는 C, C++ 에서 구조체 분석을 할 때 자주 사용되는 함수에 대해 알아보겠습니다. offsetof와 _countof 매크로 함수는 구조체에서 특정 변수의 위치나, 배열의 개수를 얻고 싶을 때 자주 …