Комментарий в верхней части заголовка говорит о многом:
#ifndef _SYS_USER_H
#define _SYS_USER_H 1
/* The whole purpose of this file is for GDB and GDB only. Don't read
too much into it. Don't use it for anything other than GDB unless
you know what you are doing. */
GNU-специфичные расширения обычно довольно легко идентифицировать (например, _GNU_SOURCE
). Однако отладка и инструментарий должны работать, даже если эти расширения не включены. Например, люди хотят использовать GDB для кода, который не #define _GNU_SOURCE
.
В этом случае материал, который не определен в ISO C (и не требуется POSIX), обычно четко обозначен как таковой.
Вы также найдете все виды странно выглядящих символов в программах, которые включают заголовки Valgrind .