IT-словарь › Программирование › newlib

newlib

Программирование Svenska → Обновлено: 2026-11-03

Стандартная библиотека C для систем без операционной системы — та самая, что идёт в комплекте почти с любым кросс-компилятором для ARM.

Cygnus Solutions собрала newlib в начале 1990-х из свободно лицензированного кода разного происхождения: glibc была слишком велика и слишком связана GPL для клиентов, делавших прошивки. В 1999 году Cygnus купила Red Hat, которая поддерживает проект до сих пор. Библиотека лежит в основе arm-none-eabi-gcc, а также служит базой для библиотеки C в Cygwin.

Фокус в том, что newlib ничего не знает об оборудовании. printf работает, но в конце концов упирается в вызов _write, а malloc просит память через _sbrk — эти функции обязан предоставить разработчик прошивки, обычно в файле syscalls.c. Забудете — получите ошибки компоновщика с загадочными именами. Для маленьких микроконтроллеров есть newlib-nano — облегчённый вариант, где printf больше не съедает 20 КБ флеш-памяти.

← Назад к словарю