什么';这是C+;中gettimeofday()的最佳替代库+;? 在Linux上有更多的面向对象的替代方法,使用C++中的GETTimeFayDay.()吗?例如,我希望能够编写类似以下内容的代码: DateTime now = new DateTime; DateTime duration = new DateTime(2300, DateTime.MILLISECONDS) DateTime deadline = now + duration; while(now < deadline){ DoSomething(); delete now; now = new DateTime() } DateTime now=新的DateTime; DateTime duration=新的DateTime(2300,DateTime.ms) DateTime截止日期=现在+持续时间; while(现在没有面向对象的接口来处理时间和间隔,这是标准C++库的一部分。 /usr/include/linux/time.h

什么';这是C+;中gettimeofday()的最佳替代库+;? 在Linux上有更多的面向对象的替代方法,使用C++中的GETTimeFayDay.()吗?例如,我希望能够编写类似以下内容的代码: DateTime now = new DateTime; DateTime duration = new DateTime(2300, DateTime.MILLISECONDS) DateTime deadline = now + duration; while(now < deadline){ DoSomething(); delete now; now = new DateTime() } DateTime now=新的DateTime; DateTime duration=新的DateTime(2300,DateTime.ms) DateTime截止日期=现在+持续时间; while(现在没有面向对象的接口来处理时间和间隔,这是标准C++库的一部分。 /usr/include/linux/time.h,c++,linux,time,embedded,gettimeofday,C++,Linux,Time,Embedded,Gettimeofday,目标是一个嵌入式linux系统,没有Boost库,但可能有一些易于移植的东西(例如仅使用头文件实现的东西)。我认为您应该可以使用ctime中的东西 #include <ctime> time difftime mktime #包括 时间 扩散时间 mktime 应该以非常方便的方式完成这项工作。 < P>没有面向对象的接口来处理时间和间隔,这是标准C++库的一部分。 /usr/include/linux/time.h 不过你可能想看看。非常有用,而且写得很好,它实际上是标

目标是一个嵌入式linux系统,没有Boost库,但可能有一些易于移植的东西(例如仅使用头文件实现的东西)。

我认为您应该可以使用ctime中的东西

#include <ctime>

time
difftime
mktime
#包括
时间
扩散时间
mktime
应该以非常方便的方式完成这项工作。

< P>没有面向对象的接口来处理时间和间隔,这是标准C++库的一部分。

/usr/include/linux/time.h 
不过你可能想看看。非常有用,而且写得很好,它实际上是标准C++库的一部分。
/usr/include/linux/time.h 
给出了结构:-

struct timeval {
    time_t      tv_sec;     /* seconds */
    suseconds_t tv_usec;    /* microseconds */
};

在Linux上,也许你可以使用它…

所以移植boost不是我的目标选择。相反,我必须使用gettimeofday()。然而,在
sys/time.h

#include <sys/time.h>

void timeradd(struct timeval *a, struct timeval *b,
          struct timeval *res);

void timersub(struct timeval *a, struct timeval *b,
          struct timeval *res);

void timerclear(struct timeval *tvp);

void timerisset(struct timeval *tvp);

void timercmp(struct timeval *a, struct timeval *b, CMP);
#包括
void timeradd(struct timeval*a,struct timeval*b,
结构时间值*res);
void timersub(struct timeval*a、struct timeval*b、,
结构时间值*res);
无效timerclear(结构timeval*tvp);
void timerisset(struct timeval*tvp);
void timercmp(struct timeval*a、struct timeval*b、CMP);
但是我花了一段时间才找到它们,因为它们不在我机器的手册页中。见本页:

我看了这个,但分辨率太粗糙了。我想讲到毫秒分辨率。哦,糟糕,我错过了“无增强库”的条款。很好,Boost.Date\u时间应该很容易移植。另外,您确实不应该使用
new
分配本地对象,尤其是在嵌入式系统上。