https://musl.libc.org/
musl is lightweight, fast, simple, free, and strives to be correct in the sense of standards-conformance and safety.
c stdio.h
Contains declarations for standard I/O functions (such as puts
or printf
).
c printf
c stdlib.h
Contains general utility functions and declarations (such as EXIT_SUCCESS
).
portability
implementation-defined behavior
Program behavior that's not specified by the C standard and that may offer different results among implementations, but has consistent, documented behavior within an implementation. An example of an implementation-defined behavior is the number of bits in a byte.
These tend to be mostly harmless, but can cause defects when porting to different implementations. Whenever possible avoid writing code that relies on implementation-defined behaviors that vary among the C implementations you might use to compile your code.
Unspecified behavior
Program behavior for which the standard provides two or more options. The standard imposes no requirements on which option is chosen in any instance. Each execution of a given expression may have different results or produce a different value than a previous execution of the same expression. An example is function parameter storage layout, which can vary among function invocations within the same program. Avoid writing code that depends on these behaviors.
Undefined behavior
Behavior which is not defined by the C standard. Examples include signed integer overflow, dereferencing an invalid pointer value. Code that has undefined behaviors is often in error.
Locale specific behavior
Behavior which is defined by a specific implementation, but is not portable to all implementations.