-
- Да, но не на MIPS, например, там он станет 32-битным. Ну нет у MIPS инструкций для эффективной работы с 8-битными величинами. - fk0(04.05.2018 16:25)
- Я говорю про то, что компилятору нет разницы _на_конкретной_платформе_ напишешь ли ты int32_t или int_fast8_t, если в stdint.h написано lloyd(57 знак., 04.05.2018 16:18)
- Наверно я чего-то не понял, но зачем тогда использовать типы из stdint.h? Собственно, конкретная реализация int_fast8_t может быть вообще экзотической и не совпадать ни с одним стандартным типом. - LightElf(04.05.2018 16:57)
- Эти типы _уже_ есть в языке. lloyd(247 знак., 04.05.2018 17:45)
- Можно полюбопытствовать, где явно написано, кроме префикса std в имени файла, что эти алиасы входят в состав языка, а не т.н. стандартной библиотеки? - Vit(04.05.2018 18:30)
- Можете у МЭКа купить бумажный/электронный текст стандарта языка, в свободном виде есть только будущий черновик lloyd(745 знак., 04.05.2018 18:59, ссылка)
- В этом документе на 10-м листе указано, что добавлены extended целые типы и библиотечные функции в <inttypes.h> и <stdint.h>. А в п. 6.2.5 явно перечислены стандартные целые типы. - Vit(04.05.2018 19:37)
- Стандартная библиотека входит в стандарт языка. Шах и мат! - SciFi(04.05.2018 19:40)
- Спасибо, Кэп. Сторонние (независимые) реализации не должны конфликтовать со стандартными библиотеками и хедерами. Особенно доставляет printf(), оформленный в виде макроса, а не библиотечной функции (которая как бы слабая), при этом перекрывает Vit(92 знак., 04.05.2018 20:16)
- Ежели вам попался говнокод, стандарт не виноват. Отрывайте руки и/или ноги собственно говнокодеру. - SciFi(04.05.2018 20:22)
- Тут, конечно, стандарт не виноват. Но имеем такое довольно часто - оно либо макрос(а так хотелось при тощем комплекте либ свой printf с плавучкой втиснуть), либо встроено так, что хрен его выгрызешь, но хоть можно подкрутить ретаргетинг... - Vit(04.05.2018 20:32)
- Если компилятор не заявляет поддержку С99 - то оно как бе уже ничего не сделаешь (хотя уже 7 лет как С11). lloyd(203 знак., 04.05.2018 20:37)
- Макросы как раз при ARM-GCC 4.8 и NanoLib:). Опции С99/GNU99 поддерживаются:) - Vit(04.05.2018 20:58)
- Уже GCC 7ой мажорной версии на дворе, вы где 4.8 нашли? - lloyd(04.05.2018 21:03)
- Вроде даже 5.4. А та либа зовется правильно NewLib Nano. Вопрос тут не в языке или компиляторе, а в тулчейне, и, в частности, в составе, опциях и оформлении предкомпилированных "стандартных" библиотек. Например, пока один раз пишем Hello World всё Vit(951 знак., 04.05.2018 22:08)
- Седьмой??? Да я только вчера восьмой уже ставил в дебиане. Потому как с седьмым уже не работает... (libasan4 и libc >= 2.27) О, я знаю места где 3.6 есть. А то и 3.3.3. - fk0(04.05.2018 21:29)
- Уже GCC 7ой мажорной версии на дворе, вы где 4.8 нашли? - lloyd(04.05.2018 21:03)
- Макросы как раз при ARM-GCC 4.8 и NanoLib:). Опции С99/GNU99 поддерживаются:) - Vit(04.05.2018 20:58)
- Если компилятор не заявляет поддержку С99 - то оно как бе уже ничего не сделаешь (хотя уже 7 лет как С11). lloyd(203 знак., 04.05.2018 20:37)
- Тут, конечно, стандарт не виноват. Но имеем такое довольно часто - оно либо макрос(а так хотелось при тощем комплекте либ свой printf с плавучкой втиснуть), либо встроено так, что хрен его выгрызешь, но хоть можно подкрутить ретаргетинг... - Vit(04.05.2018 20:32)
- Ежели вам попался говнокод, стандарт не виноват. Отрывайте руки и/или ноги собственно говнокодеру. - SciFi(04.05.2018 20:22)
- Спасибо, Кэп. Сторонние (независимые) реализации не должны конфликтовать со стандартными библиотеками и хедерами. Особенно доставляет printf(), оформленный в виде макроса, а не библиотечной функции (которая как бы слабая), при этом перекрывает Vit(92 знак., 04.05.2018 20:16)
- Стандартная библиотека входит в стандарт языка. Шах и мат! - SciFi(04.05.2018 19:40)
- В этом документе на 10-м листе указано, что добавлены extended целые типы и библиотечные функции в <inttypes.h> и <stdint.h>. А в п. 6.2.5 явно перечислены стандартные целые типы. - Vit(04.05.2018 19:37)
- Можете у МЭКа купить бумажный/электронный текст стандарта языка, в свободном виде есть только будущий черновик lloyd(745 знак., 04.05.2018 18:59, ссылка)
- Можно полюбопытствовать, где явно написано, кроме префикса std в имени файла, что эти алиасы входят в состав языка, а не т.н. стандартной библиотеки? - Vit(04.05.2018 18:30)
- Есть параноики, которым на 8-битном МК обязательно хочется счётчик цикла uint8_t. Теперь они могут написать там uint_fast8_t и гордо объявить это переносимым кодом. Хотя достижение сомнительное, конечно. Название типа "череззаборногузадерищенко" SciFi(4 знак., 04.05.2018 17:06)
- Эти типы _уже_ есть в языке. lloyd(247 знак., 04.05.2018 17:45)
- Наверно я чего-то не понял, но зачем тогда использовать типы из stdint.h? Собственно, конкретная реализация int_fast8_t может быть вообще экзотической и не совпадать ни с одним стандартным типом. - LightElf(04.05.2018 16:57)