A collection of executable software routines in the machine language of the target computer. When the source code of an application is compiled and the runtime routines are combined with the application, they are said to be "statically linked." The advantage of having the runtime routines within the application is that they are guaranteed to be available. Runtime routines can also reside in external files that are called for and "dynamically linked" to the application when it is running. Dynamic link libraries (DLLs) are a common example. Development environments may allow both methods; for example, the C runtime (CRT) library, which provides the routines for standard C functions, provides both static and dynamic runtime capabilities. See static linking, dynamic linking, DLL, runtime and runtime version.