2013-01-05 1 views

답변

8

MSDN 문서에 설명 된 것처럼 차이는 없습니다. 둘 다 존재하는 이유를 이해하려면 Windows 버전 3 이전 버전으로 되돌아 가야합니다. 그것들은 모두가 오늘 사용하는 Windows 버전과 달리 16 비트 버전의 Windows였습니다. 윈도우 3.1 용 Windows SDK 버전은 WINDOWS.H에서이 같은 RECT 구조, 선언 :

typedef struct tagRECT 
{ 
    int left; 
    int top; 
    int right; 
    int bottom; 
} RECT; 

을 그리고 ole2.h 헤더 파일은 구조 요소에 대한 를 사용하여 RECTL을 선언했다. 16 비트 C 및 C++ 컴파일러는 다시 을 16 비트 형식으로 구현하여 16 비트 프로세서의 워드 크기를 맞추고 길이를으로 32 비트 형식으로 구현했습니다.

현대 Windows 버전에서 사용되는 32 비트 컴파일러는 int을 32 비트 프로세서의 워드 크기에 맞추어 만들었습니다. 그리고 을 길게는을 32 비트 유형으로 유지했습니다. 두 가지 구조 유형의 차이가 사라졌습니다.

관련 문제