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作爲默認語言。
在Windows XP上編輯1
我使用MinGW的4.8.0(POSIX,矮2)。
編輯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)。 –
我在Windows XP上使用MinGW。它不提供這個功能...所以我必須自己實現它。 –