Runtime library

[1] A runtime library may provide basic program facilities such as for memory management and exception handling.

The toolset is designed to abstract aspects of the host platform – often to simplify tool development.

For example, some language features that can be performed only (or are more efficient or accurate) at runtime are implemented in the runtime environment and may be invoked via the runtime library API, e.g. some logic errors, array bounds checking, dynamic type checking, exception handling, and possibly debugging functionality.

For this reason, some programming bugs are not discovered until the program is tested in a "live" environment with real data, despite sophisticated compile-time checking and testing performed during development.

For example, the C standard library is relatively large while the platform-specific runtime library (commonly called crt0) is relatively small which eases supporting mutliple platforms.