Почему OSX документирует atoi / atof как небезопасный для потоков?

Я понимаю, что strtol и strtof предпочтительнее atoi / atof, так как первый обнаруживает ошибки, а также strtol гораздо более гибок, чем atoi, когда дело доходит до не-base-10.

Но мне все еще интересно кое-что: 'man atoi' (или atof) в OS X (но не в Linux!) Упоминает, что atoi / atof не являются потокобезопасными. Честно говоря, мне трудно представить возможную реализацию atoi или atof, которая не была бы поточно-ориентированной. Кто-нибудь знает, почему на странице руководства это сказано? Действительно ли эти функции небезопасны для OS X или любой другой платформы? И если да, то почему бы библиотеке просто не определить atoi в терминах strtol и, следовательно, не быть в безопасности?

15
задан R.. 7 January 2011 в 23:55
поделиться