跨平台毫秒计时器持续超过49天?

Cet*_*tra 2 c c++ dedicated-server

我将开发一个C/C++的小型专用服务器,需要永久的正常运行时间.我一直在研究一些时间函数,因为计算需要毫秒计时.我遇到了两个问题:

  1. 使用32位整数来存储自操作开始以来的毫秒数将在大约49天标记处重置为零.我曾考虑使用64位整数,使用gettimeofday来检索微秒,但这将我带到第二部分.

  2. 似乎没有任何标准系统调用来获取平台无关的经过的毫秒数

我该怎么办才能解决这两个问题?

sdg*_*sdg 6

  1. 使用64位整数,假设给你足够的时间

  2. 你是对的; 没有标准.一种可能性是使用Boost DateTime库,交替查找另一个或滚动自己的库.

祝好运!