0

我想在macos上编译以下代码:

struct timeval tv;
int retval = gettimeofday (&tv, NULL);
if (retval == 0)
    TIMEVAL_TO_TIMESPEC (&tv, tp); //here I am getting the error
return retval;

但我得到了错误

错误:“TIMEVAL_TO_TIMESPEC”未在此范围
TIMEVAL_TO_TIMESPEC (&tv, tp) 中声明;

我正在使用android的交叉编译器进行编译。我尝试明确包含 time.h 标头,但仍然找不到 TIMEVAL_TO_TIMESPEC。如何正确编译此代码?

4

1 回答 1

0

以下是解释 GNU C 库中所有日期时间概念/标准的链接,大多数平台都坚持使用该库。

https://www.gnu.org/software/libc/manual/html_node/Date-and-Time.html#Date-and-Time

如果您的目标是跨平台开发,最好遵守上述标准。

就像注释中指定的“nathan”一样,所使用的宏特定于某些类 UNIX 系统。

我快速验证了 GNU C 库的日期和时间(以上链接)。我在任何地方都没有看到“TIMEVAL_TO_TIMESPEC”宏。

据我所知,可能是源自“Berkeley Software Distribution”的操作系统可能具有“TIMEVAL_TO_TIMESPEC”,但可能不是 GNU 标准 C 库的一部分。

纠正我如果我错了。

于 2016-11-08T19:31:01.417 回答