Где unsigned int определен для встроенных систем? - PullRequest
0 голосов
/ 01 мая 2020

Использование набора инструментов arm-none-eabi-gcc.

Во время разработки ARM с использованием параметров -nostdlib в компоновщике я могу использовать unsigned int, int et c. Однако для uint8_t мне нужно использовать --specs=nano.specs, поскольку они находятся в стандартной библиотеке newlib.

Так как же разрешается unsigned int?

Я занимался разработкой ARM для довольно долго с помощью IDE. Следовательно, не знал, как работает основной материал. Прошел какое-то урок по голому металлу, когда столкнулся с этими сомнениями.

Спасибо.

1 Ответ

8 голосов
/ 01 мая 2020

unsigned int - это базовый c тип, определенный стандартом C (см. C99 §6.2.5, стр. 33 здесь ), он не определен где-либо еще, компилятор уже знает, как с этим справиться.

uint8_t и другие подобные типы определяются реализацией, и поэтому вы можете найти те, которые определены в заголовках библиотеки.

...