Leksykon IT › Programowanie › newlib

newlib

Programowanie Svenska → Zaktualizowano: 2026-11-03

Standardowa biblioteka C dla systemów bez systemu operacyjnego, dołączana do niemal każdego kompilatora skrośnego dla ARM-a.

Cygnus Solutions złożył newlib na początku lat dziewięćdziesiątych z kodu na wolnych licencjach o różnym pochodzeniu, bo glibc był zbyt duży i zbyt mocno związany GPL-em dla klientów budujących firmware. Red Hat kupił Cygnusa w 1999 roku i do dziś utrzymuje projekt. Biblioteka leży pod arm-none-eabi-gcc i stanowi też podstawę biblioteki C w Cygwinie.

Sztuczka polega na tym, że newlib nic nie wie o sprzęcie. printf działa, ale sprowadza się do wywołania _write, a malloc prosi o pamięć przez _sbrk — funkcje, które musi dostarczyć autor firmware'u, zwykle w pliku syscalls.c. Gdy ich zabraknie, linker wypisze błędy o zagadkowych nazwach. Dla małych układów istnieje newlib-nano, odchudzony wariant, w którym printf nie zjada już 20 KB flasha.

← Wróć do leksykonu