The main differences between microlib and the default C library are:
Microlib is not compliant with the ISO C library standard. Some ISO features are not supported and others have less functionality.
Microlib is not compliant with the IEEE 754 standard for binary floating-point arithmetic.
Microlib is highly optimized for small code size.
Locales are not configurable. The default C locale is the only one available.
main()must not be declared to take arguments and must not return.
Microlib provides limited support for C99 functions.
Microlib does not support C++.
Microlib does not support operating system functions.
Microlib does not support position-independent code.
Microlib does not provide mutex locks to guard against code that is not thread safe.
Microlib does not support wide characters or multibyte strings.
Microlib does not support selectable one or two region memory models as the standard library (stdlib) does. Microlib provides only the two region memory model with separate stack and heap regions.
Microlib does not support the bit-aligned memory functions
Microlib can be used with either
The level of ANSI C
stdiosupport that is provided can be controlled with
#pragma import(__use_smaller_memcpy)selects a smaller, but slower, version of
setbuf()always fail because all streams are unbuffered.
0because the error and
EOFindicators are not supported.