• [잡담] int 크기에 대한 질문!!!2017.05.22 PM 06:53

게시물 주소 FONT글자 작게하기 글자 키우기

흠... 마이크로 ip 버퍼 싸이즈 관련 공부 하다가 급 오랫만에 int의 크기를 다시금 

생각하게 되더군요. 우리가 쓰는 64비트에서의 int 값은 8로 알고 있습니다.

뭐 여러분이 잘들 아시는 코드로...

printf("%d", sizeof(int));

로 확인 해보니 4 라고 뜨더군요...

gcc 버젼은 5.4.0

뭐 이건 아직도 int64로 해줘야 하나요?

아님 아직도 c는 32비트로 읽나요?

그리고 python3에서 

print sys.getsizeof(int)

하니깐 24가 뜨더군요...; 파이썬이 오버헤드가 있는건 알지만..

8>>에서 24는 오버헤드가 어마어마하다고 생각되네요...

뭔가 다른건가? 제가 모르는 개념이 있는거 같아서 루리웹 분들에게 질문 올립니다.

댓글 : 9 개
빌드 타겟이 x86으로 되어있는건 아닌가요?
타겟이 x64인지 확인해보심이...
x64 맞습니다. 저도 이게 참 이상하다고 생각이 드네요...
int의 크기는 cpu에 의해 결정되는걸로 알고 있습니다.
네 64비트라고 명시했어요 ㅠㅠ
integer의 경우는
x64 환경이라도 컴파일러나 cpu 제조사에 따라서 달라진다고 하네요.
vs의 경우에도 포인터는 8바이트, int는 4바이트로 되어있구요.
64비트라고 int형이 무조건 8바이트가 되지는 않는다고 합니다.
으음.. 그렇군요...
파이썬은 왜 그런지 알수 있을까요? ㅠㅠ
http://stackoverflow.com/questions/10197242/what-should-be-the-sizeofint-on-a-64-bit-machine

참고하세요~
gcc 내에서 빌드되는 윈도우 타겟이 x64맞나영?
네 맞아요...
친구글 비밀글 댓글 쓰기