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。它不提供这个功能...所以我必须自己实现它。 –