gpt4 book ai didi

C++、mingw 和 clock_gettime 无法编译

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:20:47 25 4
gpt4 key购买 nike

我在使用 minGW 的 g++.exe 编译一些 Linux C++ 代码时遇到了一些困难。具体来说,就是无法理解这段代码:

  struct timespec now;
clock_gettime(CLOCK_REALTIME,&now);

我已经添加了必要的头文件

 #include <ctime>

编译错误为:

error: aggregate 'special_time2()::timespec now' has incomplete type and cannot be defined
error: 'CLOCK_REALTIME' was not declared in this scope
error: 'clock_gettime' was not declared in this scope

有人知道为什么会发生这种情况并且知道潜在的解决方法吗?

最佳答案

clock_gettime 不是标准的 C 或 C++ 函数,因此不能保证它在非 POSIX 系统上可用。

如果您正在编写现代 C++,那么您可以使用 std::chrono 库进行高精度计时。

如果您受困于 2011 年之前的库,那么您唯一的选择是 time(),它通常只有一秒的精度,或者任何可用的特定于平台的替代方案。不幸的是,我对 MinGW 了解不够,无法帮助您。

关于C++、mingw 和 clock_gettime 无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com