Keil™, An ARM® Company

RealView Libraries and Floating Point Support Guide

Differences from the default C library

3.1.1. Differences from 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.

  • stdio is not supported except for unbuffered stdin, stdout and stderr.

  • Microlib provides limited support for C99 functions.

  • 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 stdlib does. Microlib provides only the two region memory model with separate stack and heap regions.

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

See ISO C features missing from microlib for more information.

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0378A