Объект FILE
, на который указывает FILE *stdout
, может быть выделен во время выполнения функциями инициализации libc, для реализаций libc, таких как glibc, которые требуют вызова функций инициализации до запуска main
.
Так что не должно быть глобально в libc, потому что тогда оба будут иметь один и тот же стандартный вывод
Каждый процесс имеет свой собственный указатель stdout
, указывающий на собственный объект FILE
, , поскольку раздел данных общих библиотек является частным отображением.
Различные процессы, использующие одну и ту же библиотеку, не имеют общей памяти для чтения-записи данных.