В (g)libc, например, в функциях времени и даты, таких как localtime, в руководстве говорится:
Возвращаемое значение указывает на статически выделенную строку, которая может быть перезаписана последующими вызовами любой из функций даты и времени.
Насколько я знаю, моя программа однопоточная. Безопасно ли мне использовать функции «MT-Unsafe», такие как asctime или localtime?
Даже если в памяти всего 1 экземпляр библиотеки (g)libc? (Т.е. как динамическая библиотека.)
Означает ли "статический" "статический для моей программы" (для каждого экземпляра программы выделяется новый экземпляр буфера..), "статический для процесса" (один экземпляр буфера на процесс - это предполагает) или статично для библиотеки (libc) (столько экземпляров буфера, сколько экземпляров библиотеки (-фрагментов))?
(Я знаю о вопросе № 8694365, но мой немного отличается.)
localtime
, и ваша программа придерживается стандарта (т. е. не использует такие вещи, как потоки), то вы можете использоватьlocaltime
. Вот для чего нужен стандарт. - person n. 1.8e9-where's-my-share m.   schedule 06.03.2017pthread_exit(localtime(t));
) - person R.. GitHub STOP HELPING ICE   schedule 07.03.2017