C: естькроссплатформенный? - PullRequest
0 голосов
/ 31 декабря 2018

Я хочу написать C99 или более новый код, который будет максимально переносимым.Поэтому я хочу убедиться, что это портативное устройство.

1 Ответ

0 голосов
/ 31 декабря 2018

<limits.h> указано в стандарте C. C11 / C17 5.2.4.2.1 сообщает, какие макросы доступны при включении <limits.h>.В таблице также перечислены наименьшая величина значений, разрешенных для реализации.Фактическое значение каждого макроса в списке определяется реализацией.

Примечательно, что этот заголовок должен присутствовать в любой реализации, соответствующей стандарту , даже если цель является автономной средой (т.е. не имеет служб стандартной библиотеки).

Макросы находятся в C11 / C17 CHAR_BIT, SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, CHAR_MIN, CHAR_MAX, MB_LEN_MAX, SHRT_MIN, SHRT_MAX, USHRT_MAX, INT_MIN, INT_MAX, UINT_MAX, LONG_MIN, LONG_MAX, ULONG_MAX, LLONG_MIN, LLONG_MAX и ULLONG_MAX,

Поскольку в C89 не было ни long long int, ни unsigned long long int, последние 3 не должны присутствовать в C-совместимой реализации.

...