在 macos 上使用 time.h 进行交叉编译

Using time.h on macos for cross compiler

我想在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;

但我收到错误

error: 'TIMEVAL_TO_TIMESPEC' was not declared in this scope
TIMEVAL_TO_TIMESPEC (&tv, tp);

我正在用android的交叉编译器编译。我试图明确地包含 time.h header,但它仍然找不到 TIMEVAL_TO_TIMESPEC。我怎样才能正确编译这段代码?

下面是 link,它解释了 GNU C 库中的所有日期时间 concepts/standards,大多数平台都坚持使用该库。

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

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

如注释中指定的"nathan",所使用的宏是特定于某些类 UNIX 系统的。

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

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

如果我错了请纠正我。