c++ - Unix 函数 gmtime_r 的 Windows 等价物是什么?

标签 c++ visual-studio-2010 unix time porting

我正在将一些 Unix 代码移植到 Windows Visual Studio 2010 中。我遇到了以下行

gmtime_r(&now, &tm_time);

我发现 gmtime_r() 是一个标准的 Unix 函数,但我希望找到 Windows 的等效函数。我在 time.h 中发现了很多 gmtime 函数,但我很难找到哪个是等价的,如果它存在的话。有人能指出我正确的方向吗?

最佳答案

gmtime_r() 是 gmtime() 的线程安全版本。 gmtime() 的 MSVC 实现已经是线程安全的,返回的 struct tm* 分配在线程本地存储中。

如果在同一线程上多次调用该函数并存储返回的指针,这并不能使其免于麻烦。您可以改用 gmtime_s() 。最接近 gmtime_r() 但参数相反 ;)

关于c++ - Unix 函数 gmtime_r 的 Windows 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12044519/

相关文章:

c++ - emacs:强制解析缓冲区的局部变量

c++ - 使用 Cilk 数组表示法和 STL vector

linux - 区分 2 个大目录以获取文件存在差异

bash - 如何强制 grep 只返回文件而忽略目录?

C++ 编译错误

c++ - 在 C++ 类成员名称中使用下划线的约定

c# - WPF 应用程序 : Controls look like . NET 2.0 中的 WinForms 对话框

asp.net-mvc - 无法打开项目,因为其项目类型 (.modelProj) 不受支持

c# - 如何使用或不使用导航属性进行 Linq 多对多连接

java - 连接两个unix服务器并使用java程序将数据从服务器推送到服务器