13.5 Стандартные библиотеки
GCC само по себе пытается быть совместимой свободной реализацией. См. Стандарты языка, поддерживаемые GCC, для получения подробностей о значении этого. Помимо библиотечных функций, необходимых для такой реализации, остальная часть библиотеки C поставляется поставщиком операционной системы. Если эта библиотека C не соответствует стандартам C, ваши программы могут получать предупреждения (особенно при использовании -Wall), которых вы не ожидаете.
Например, функция sprintf в SunOS 4.1.3 возвращает char *, в то время как стандарт C говорит, что sprintf возвращает int. Программа fixincludes могла бы сделать прототип этой функции совместимым со стандартом, но это было бы неправильно, так как функция всё равно вернёт char *.
Если вам нужна библиотека, соответствующая стандарту, то вам нужно найти её, так как GCC её не предоставляет. Библиотека GNU C (называемая glibc) обеспечивает совместимость с ISO C, POSIX, BSD, SystemV и X/Open для GNU/Linux и систем GNU на базе HURD; ни одна из недавних версий не поддерживает другие системы, хотя некоторые очень старые версии это делали. Версия 2.2 библиотеки GNU C включает почти полную поддержку C99. Вы также можете спросить поставщика вашей операционной системы, есть ли доступны более новые библиотеки.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.5.0/gcc/Standard-Libraries.html