64비트 머신의 사이즈(int)는 어떻게 해야 합니까?
중복 가능성:
int, long 등의 크기
int의 크기는 컴파일러나 프로세서에 따라 달라집니까?
정수의 크기를 결정하는 것은 무엇입니까?
사용하고 있습니다.64-bit
기계.
$ uname -m
x86_64
$ file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
$
제가 다음 프로그램을 실행했을 때sizeof(int)
~하듯이4-bytes
.
#include <stdio.h>
int main(void)
{
printf("sizeof(int) = %d bytes\n", (int) sizeof(int));
return 0;
}
를 실행하고 있는 경우16-
,32-
그리고.64-
비트머신, 그럼 그 사이즈는 그 사이즈가integer
는16-
,32-
그리고.64-
비트는요?
내 기계에서, 나는 그것을 발견했다.WORD_BIT
는32
그래야 하지 않을까?64
에서64-bit
머신을 사용할 수 있습니까?
$ getconf WORD_BIT
32
$
그리고...sizeof(int)
있다64-bits
(8 bytes
위의 경우?
64비트 C/C++ 컴파일러에서는 포인터의 크기가 8바이트여야 하지만 반드시 int 사이즈는 아닙니다.
꼭 그럴 필요는 없습니다.「64비트 머신」은 많은 것을 의미하지만, 통상은 CPU에 그 정도의 큰 레지스터가 있는 것을 의미합니다.타입의 사이즈는 컴파일러에 의해 결정됩니다.이 사이즈는 실제 하드웨어와는 관계가 없습니다(일반적으로는 관계가 있지만).실제로 같은 머신상의 컴파일러마다 값이 다를 수 있습니다.
사실 그렇지 않아요.하위 호환성의 경우 32비트입니다.
64비트를 원한다면long
,size_t
또는int64_t
C++에서는, 다음의 사이즈가int
명시적으로 지정되어 있지 않습니다.적어도 그 사이즈는 적어도short int
(적어도 다음 크기 이상이어야 합니다.signed char
의 크기char
in bits도 명시적으로 지정되어 있지 않지만 size of(char)는 1로 정의되어 있습니다.64비트 int를 사용하는 경우 C++11은long long
최소 64비트여야 합니다.
언급URL : https://stackoverflow.com/questions/10197242/what-should-be-the-sizeofint-on-a-64-bit-machine
'sourcecode' 카테고리의 다른 글
.txt 파일에 쓰시겠습니까? (0) | 2022.08.01 |
---|---|
인라인 기능을 사용할 때와 사용하지 않을 때? (0) | 2022.08.01 |
Vuejs. $v와 $event는 Vuejs로 무엇을 의미합니까? (0) | 2022.08.01 |
검색 중에 로드 아이콘을 추가하는 방법(Vue.js 2) (0) | 2022.08.01 |
"v[0] = name-of-module"이 일반적인 표준입니까? 아니면 일반적인 규약입니까? (0) | 2022.08.01 |