макросы тестирования функций (feature test macros)
Примечание (Note)
<features.h> is a Linux/glibc-specific header file. Other
systems have an analogous file, but typically with a different
name. This header file is automatically included by other header
files as required: it is not necessary to explicitly include it
in order to employ feature test macros.
According to which of the above feature test macros are defined,
<features.h> internally defines various other macros that are
checked by other glibc header files. These macros have names
prefixed by two underscores (e.g., __USE_MISC
). Programs should
never define these macros directly: instead, the appropriate
feature test macro(s) from the list above should be employed.