Keil Logo Arm Logo

Differences between microlib and the default C library

Differences between microlib and the default C library

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 _membitcpy[b|h|w][b|l]() and membitmove[b|h|w][b|l]().

  • Microlib can be used with either --fpmode=std or --fpmode=fast.

  • The level of ANSI C stdio support that is provided can be controlled with #pragma import(__use_full_stdio).

  • #pragma import(__use_smaller_memcpy) selects a smaller, but slower, version of memcpy().

  • setvbuf() and setbuf() always fail because all streams are unbuffered.

  • feof() and ferror() always return 0 because the error and EOF indicators are not supported.

Copyright © 2007-2008, 2011-2012 ARM. All rights reserved.ARM DUI 0378D
Non-ConfidentialID062912

Related Knowledgebase Articles

Keil logo

Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.