Существуют ли типы, такие как uint32, int32, uint64, int64, определенные в любом заголовке stdlib?
Я часто вижу исходный код, используя такие типы, как uint32, uint64, и мне интересно, должны ли они быть определены программистом в коде приложения или определены в стандартном заголовке lib.
Какой лучший способ иметь эти типы в исходном коде приложения?
Ответы
Ответ 1
C99 stdint.h
определяет следующие:
-
int8_t
-
int16_t
-
int32_t
-
uint8_t
-
uint16_t
-
uint32_t
И, если архитектура поддерживает их:
В stdint.h
существуют различные другие целочисленные typedef.
Если вы застряли без среды C99, тогда вам, вероятно, следует предоставить свои собственные typedef и использовать C99.
uint32
и uint64
(т.е. без суффикса _t
), вероятно, специфичны для приложения.
Ответ 2
Эти целые типы определены в stdint.h
Ответ 3
Если вы используете C99, просто включите stdint.h
. BTW, 64-битные типы существуют, если процессор поддерживает их.