Перейти к содержанию
    

stdint.h

По мере освоения IAR узнал, что типы данных могут отличаться по размеру, в зависимости от компилятора и платформы, и что типы данных с фиксированным размером определены в файле stdint.h. Когда полез в него, то увидел там такую запись, например:

 

/* Fixed size types. These are all optional. */

#ifdef __INT8_T_TYPE__

typedef __INT8_T_TYPE__ int8_t;

typedef __UINT8_T_TYPE__ uint8_t;

#endif /* __INT8_T_TYPE__ */

 

На сколько я понимаю, она определяет тип переменной размером 8 бит(со знаком и без знака соответственно), но вот не могу разобраться от куда берется тип __INT8_T_TYPE__. Хотелось бы разобраться, чтобы не оставалось недопонимания.

 

И вообще следует ли пользоваться этим заголовочным файлом, или с таким же успехом можно определять свои типы, например так:

 

typedef unsigned char uint8; // для 8-битных AVR

 

Спасибо заранее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...И вообще следует ли пользоваться этим заголовочным файлом, или с таким же успехом можно определять свои типы, например так:

typedef unsigned char uint8; // для 8-битных AVR

Спасибо заранее.

Я пользуюсь своим по типу как у Вас показано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сколько я понимаю, она определяет тип переменной размером 8 бит(со знаком и без знака соответственно), но вот не могу разобраться от куда берется тип __INT8_T_TYPE__. Хотелось бы разобраться, чтобы не оставалось недопонимания.

Вероятно, это символ, определённый самом компилятором. Как, например, __DATE__. Почему так хитро - непонятно. Ясно, что можно было написать signed char.

 

И вообще следует ли пользоваться этим заголовочным файлом, или с таким же успехом можно определять свои типы, например так:

 

typedef unsigned char uint8; // для 8-битных AVR

Это кому как нравится. Лично я стараюсь не изобретать велосипедов, поэтому и использую stdint.h. Но у меня к ним претензия: имена типов могли бы быть и короче. Чего стоит, к примеру, uint_fast16_t?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...