Здравствуйте, plastictown, Вы писали:
P>typedef char char_t;
Это-то зачем?
P>typedef signed char int8_t; P>typedef signed short int16_t; P>typedef signed int int32_t; P>typedef signed long int64_t; P>typedef unsigned char uint8_t; P>typedef unsigned short uint16_t; P>typedef unsigned int uint32_t; P>typedef unsigned long uint64_t;
Могут быть конфликты со стандартным stdint.h. Я обычно делаю хидер, который под #ifdef'ом либо включает стандартный stdint.h, там, где он есть, либо, для остальных платформ, сам определяет растущие из него типы.
P>typedef float float32_t; P>typedef double float64_t; P>typedef long double float128_t;
Лично для меня, по моему опыту, использование плавучки в промышленном коде — большая редкость. А если уж за каким-то ляхом в кросплатформенной программе понадобилась плавучка, сразу возникают вопросы о ее кроссплатформенном внешнем представлении.
Что до внутреннего представления, в среднем можно всюду использовать double, и не парить себе моск.