stdint.h 다운로드

다음 매크로는 헤더에 정의된 형식에 해당하는 정수 형식이 있는 개체를 초기화하는 데 적합한 정수 상수 식으로 확장됩니다. 각 매크로 이름은 최소 너비 정수 유형 및 최대 너비 정수 유형 아래에 나열된 유사한 형식 이름에 해당합니다. stdint.h는 C99 표준 라이브러리 섹션 7.18에 도입된 C 표준 라이브러리의 헤더 파일로, 프로그래머가 매크로를 사용하여 각 형식에 대해 정의된 최소 및 최대 허용 값과 함께 정확한 너비 정수 형식을 지정하는 typedefs 집합을 제공하여 보다 이식 가능한 코드를 작성할 수 있도록 합니다[1] 이 헤더는 고정 너비, 특정 위치 및 정확한 정렬의 정수 데이터를 필요로 하는 하드웨어 특정 I/O 레지스터를 상당히 조작하는 데 특히 유용합니다. stdint.h(C 또는 C++)와 cstdint(C++의 경우)를 다운로드하거나 제공되지 않으면 신속하게 생성할 수 있습니다. 헤더는 서식이 지정된 I/O 함수를 지원하지 않을 수 있는 독립형 환경에서 사용하기에 더 적합한 헤더의 하위 집합입니다. 일부 환경에서는 서식이 지정된 변환 지원이 원하지 않는 경우 헤더 대신 이 헤더를 사용하면 많은 수의 매크로를 정의할 수 없습니다. stdint.h가 Visual Studio 2010 이전에 이전 C++ 컴파일러 및 Visual Studio C++ 제품과 함께 제공되지 않기 때문에 타사 구현을 사용할 수 있습니다: 헤더는 지정된 너비를 가진 정수 형식 집합을 선언하고 해당 매크로 집합을 정의해야 합니다. 또한 다른 표준 헤더에 정의된 형식에 해당하는 정수 형식의 제한을 지정하는 매크로도 정의해야 합니다. 관련 파일 는 공통 정수 변수 형식의 범위 제한에 대한 매크로 값을 제공합니다. C 는 이미 에 포함되어 있지만 구현 독립적인 와는 달리 에 정의된 모든 최대 및 최소 정수 값은 컴파일러 구현에 따라 다릅니다. 예를 들어 32비트 실행어를 생성하는 컴파일러는 LONG_MIN -2,147,483,648 [−231]으로 정의하지만 64비트 프로세서 대상의 경우 -9,223,372,036,854,775,808 [−263]이 될 수 LONG_MIN 있습니다. 다음 매크로는 헤더에 선언된 형식의 최소 및 최대 제한을 지정합니다.

각 매크로 이름은 정수 형식의 유사한 형식 이름에 해당합니다. 정확한 너비 정수 형식에 대한 명명 규칙은 서명된 int및 uintN_t 서명되지 않은 int[1]에 대한 intN_t. 예를 들어 int8_t 및 uint64_t INT8_MAX 0(0)으로 INT8_MIN 해당 범위를 UINT64_MAX 정의할 수 있습니다. 유사하지만 대문자 명명 규칙을 다시 사용합니다. 또한 stdint.h는 UINTPTR_MAX 같은 개체 포인터를 보유할 수 있는 정수 형식의 제한을 정의하며, 그 값은 프로세서와 주소 범위에 따라 달라집니다[1]. 구현에서 제공하는 각 형식에 대해 헤더는 해당 typedef 이름을 선언하고 관련 매크로를 정의합니다. 반대로 구현에서 구현이 제공하지 않는 각 형식에 대해 헤더는 해당 typedef 이름을 선언하지 않으며 관련 매크로를 정의할 수 없습니다. 구현은 필요에 따라 설명된 형식을 제공해야 하지만 다른 형식(선택 사항으로 설명)을 제공할 필요는 없습니다. 정의된 매크로의 각 인스턴스는 #if 전처리 지시문에 사용하기에 적합한 상수 식으로 대체되어야 하며, 이 식은 정수 승격에 따라 변환된 해당 형식의 개체인 식과 동일한 형식을 갖습니다.