본문 바로가기

Programming/C&CPP

64비트 Windows 환경에서의 int 사이즈

반응형

일반적으로 32비트 환경에서와 64비트 환경에서 int, long 형의 크기가 달라지는 것으로 생각을 합니다.

32비트에서는 32비트인 4바이트, 64비트에서는 8바이트로 변경되는 것으로 알고 있지만

실제로는 int, long형은 Windows 환경에서는 4바이트로 동일한 크기입니다.

Linux 환경에서는 long형만 8바이트로 변경된다고 합니다.

int가 4바이트기 때문에 실제 8바이트의 int를 사용하기 위해

Windows에서는 __int64를 사용하시는 것이 좋습니다.

또한 4바이트 int인 __int32도 정의되어 있습니다.

그렇기 때문에 정확한 구분이 필요하다면 __int64와 __int32를 구분해서 사용하면 됩니다.

64bit와 32bit에 따라서 8바이트에서 4바이트로 크기가 변경되는 타입은 포인터 타입입니다.

포인터는 메모리의 실제 주소 공간을 가리켜야 하기 때문입니다.

그래서 32bit와 64bit에서 타입의 크기를 변경하고 싶으면 포인터를 사용하시면 됩니다.

반응형

'Programming > C&CPP' 카테고리의 다른 글

C++의 캐스트(Cast) 연산자  (0) 2014.12.06
C/C++ 포인터 기본  (0) 2014.12.06
C++ 동적 할당 new / delete 사용시 주의점  (0) 2014.12.06
ASCII 코드표  (0) 2014.12.05
GUID(Global Unique Identifier)  (0) 2014.12.04