시스템 프로그래밍
64bits-based Programming, GetLastError
믿고걸음
2019. 3. 17. 17:30
#6. 윈도우즈 시스템 프로그래밍
6-1. 64bits-based Programming
포인터가 8 byte 로 처리가 된다는 점을 챙기면 될 것 같다.
만약 arr (8byte) 를 int (4byte) 로 형변환될 경우 문제가 생긴다.
다음과 같은 형식으로 다형성을 지원할 수 있다.
_WIN64 가 정의되어 있을 경우 UINT_PTR 은 __int64 로 동작하고, 정의되어 있지 않을 경우 unsigned int 로 동작한다.
이것이 다형적 특징이다. PTR 이라고해서 포인터 연산에서 활용하기 위한 자료형이지, 그 자체가 포인터는 아니다.
6-2. GetLastError Function
윈도우즈 시스템에서 오류가 발생되면, 전역적으로 설정된 공간에 오류가 발생한 이유를 저장한다.
이 전역공간에 접근하기 위한 함수가 GetLastError 함수이다.
MSDN 에는 더 세분화된 오류목록을 확인할 수 있다.
전역공간은 계속해서 그 내용이 바뀌기 때문에, 에러가 발생한 함수 '바로 뒤'에 호출을 시켜줘야한다는 주의사항이 있다.