Функция времени ANSI C не является надежной по потоку: в частности gmtime
, ctime
и strftime
. Для того, что я знаю, единственная поточно-безопасная функция - time
.Реализовать поточную безопасную функцию ctime
Если я прав в Visual Studio, эта функция является безопасной для всех потоков. Я использую компилятор MinGW (4.8.0 с карликом-2, тот, который предоставляется Qt 5.1.0).
Как можно реализовать функцию защиты резьбы от gmtime_r
, ctime_r
и strftime_r
? Или для этого существует более поточная библиотека?
Я использую C++ 11 в качестве языка по умолчанию.
редактировать 1
Я использую MinGW 4.8.0 (POSIX, карлик-2) на Windows XP.
редактировать 2
Я рассматриваю использовать Boost.DateTime это может быть хорошим выбором?
Я очень разочарован отсутствием на C++ 11 управления временем!
Я предполагаю, что у вас нет стандартной библиотеки POSIX, так как иначе у вас уже есть ['ctime_r'] (http://pubs.opengroup.org/onlinepubs/9699919799/functions/ctime.html) и другие. И с C++ 11 у вас есть пространство имен '' std :: chrono' '(http://en.cppreference.com/w/cpp/chrono). –
Я использую MinGW для Windows Xp. И он не обеспечивает эти функции ... поэтому я должен сам реализовать его. –