공부중

[VS2012] 64bit 에서의 int 본문

Programing/C, C++

[VS2012] 64bit 에서의 int

곤란 2012. 12. 4. 19:21
반응형

 

64bit 시스템을 드디어 사용해본 나로서는

제일 궁금했던 int의 크기 변환을 눈으로 확인해보고 싶었다.

 

대충 크기를 확인해 보기 위해 짜보았다.

 

#include <iostream>

 

int main()

{

 

std::cout<<"int 크기"<<sizeof(int)<<std::endl;

 

return 0;

}

 

출력 결과

 

 

4가 나온다.

64bit에서 int가 4가 나오다니!!!!!!

 

 

 

혹시나 해서 기본 자료형들을 다 재보았다.

 

#include <iostream>

 

int main()

{

 

std::cout<<"char 크기"<<sizeof(char)<<std::endl;

std::cout<<"short 크기"<<sizeof(short)<<std::endl;

std::cout<<"int 크기"<<sizeof(int)<<std::endl;

std::cout<<"long 크기"<<sizeof(long)<<std::endl;

std::cout<<"float 크기"<<sizeof(float)<<std::endl;

std::cout<<"double 크기"<<sizeof(double)<<std::endl;

 

return 0;

}

 

 

 

달라진게 없다니 …

 

X64용으로 따로 있나 찾아보았다..

 

 

없네..?

 

 

이게 뭔일인가 싶어서

 

MSDN에 검색해 보았다..

 

 

그래!!!! Short와 long의 사이!!! …

 

읭?? 맞는 말이긴 한데 ….

 

이러면 32bit하고 뭔 차이…?

 

스크롤을 밑으로 내려보니 ..

 

 

…. 아아

 

Visual C++에서는 int는 4byte로 고정인가봅니다…

 

자세한정보는 여기로

http://msdn.microsoft.com/ko-kr/library/s3f49ktz(v=vs.110).aspx

 

다른 컴파일러는 잘 모르겠지만 일단 VS는 이런다는 사실을 알았군요 ㅠㅠ ..

 

제가 잘못 알고있거나 수정할 부분이 있다면 댓글로 .. 부탁드립니다 ㅠㅠ


참고할 만한

일반적인 Visual C++ 64비트 마이그레이션 문제!

Visual C++를 사용하여 64비트 Windows 운영 체제에서 실행되는 응용 프로그램을 만들 때는 다음 문제를 고려해야 합니다.

http://msdn.microsoft.com/ko-kr/library/3b2e7499.aspx


 

반응형