|Non-Confidential||PDF version||ARM 100073_0607_00_en|
|Home > The ARM C Micro-library > ISO C features missing from microlib|
Microlib does not support all ISO C90 features.
Major ISO C90 features not supported by microlib are:
wcstombs(). All functions defined in Normative Addendum 1 are not supported by microlib.
getenv(). An exception is
clock(). A minimal implementation of
clock()has been provided, which returns only –1, not the elapsed time. You may reimplement
_clock_init(), which it needs), if required.
By default, all the
that interact with a file pointer return an error if called. The only exceptions to
this are the three standard streams
You can change this behavior using
__asm(".global __use_full_stdio\n\t"). Use of this
assembler directive provides a microlib version of
stdio that supports ANSI C, with only the following exceptions:
EOFindicators are not supported, so
raise()are provided but microlib does not generate signals. The only exception to this is if the program explicitly calls
Floating-point support diverges from IEEE 754 in the following ways, but uses the same data formats and matches IEEE 754 in operations involving only normalized numbers:
fp_status()register in microlib.
Microlib has no reentrant variant. Microlib does not provide mutex locks to guard against code that is not thread safe. Use of microlib is not compatible with position independent compilation modes.
Although ROPI code can be linked with microlib, the resulting binary is not ROPI-compliant overall.
argvparameters are undefined and cannot be used to access command-line arguments.