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

Using time.h on macos for cross compiler

本文关键字:交叉编译 time macos      更新时间:2023-10-16

我想在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'未在此范围内声明
time (&tv, tp);

我正在用android的交叉编译器编译。我试图显式地包含time.h头文件,但它仍然没有找到TIMEVAL_TO_TIMESPEC。我怎样才能正确地编译这段代码?

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

https://www.gnu.org/software/libc/manual/html_node/Date-and-Time.html日期和时间

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

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

我很快验证了GNU C库的日期和时间(上面的链接)。我没有在任何地方看到"TIMEVAL_TO_TIMESPEC"宏。

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

如果我错了请纠正我