programing

uint32, int32, uint64, int64 등의 유형이 stdlib 헤더에 정의되어 있습니까?

sourcetip 2022. 9. 12. 12:17
반응형

uint32, int32, uint64, int64 등의 유형이 stdlib 헤더에 정의되어 있습니까?

uint32, uint64와 같은 형식을 사용하는 소스 코드를 자주 볼 수 있는데, 애플리케이션 코드에서 프로그래머에 의해 정의되어야 하는지 아니면 표준 lib 헤더에 정의되어야 하는지 궁금합니다.

애플리케이션 소스 코드에 이러한 유형을 포함시키는 가장 좋은 방법은 무엇입니까?

C99 에서는, 다음의 정의가 있습니다.

  • int8_t
  • int16_t
  • int32_t
  • uint8_t
  • uint16_t
  • uint32_t

아키텍처가 이들을 지원하는 경우:

  • int64_t
  • uint64_t

에는 다양한 정수 typedef가 있습니다.stdint.h뿐만 아니라.

C99 환경이 없는 경우 Typeedef를 직접 제공하고 C99를 사용해야 합니다.

uint32그리고.uint64(즉, 미포함)_tsuffix)는 어플리케이션에 따라 다를 수 있습니다.

이러한 정수형은 모두 에 정의되어 있습니다.stdint.h

C99 를 사용하고 있는 경우는, 다음을 포함합니다.stdint.h참고로 프로세서가 지원하는 경우 64비트 타입이 있습니다.

질문자는 실제로 int16_t(등)가 아닌 int16(등)에 대해 질문했습니다.

Linux의 /usr/include/폴더에는 표준 헤더가 없습니다.또, 「_t」가 없는 것을 정의하는 헤더는 없습니다.

언급URL : https://stackoverflow.com/questions/6013245/are-types-like-uint32-int32-uint64-int64-defined-in-any-stdlib-header

반응형