Closed nijiancong closed 3 months ago
system_clock() 返回单调增长(调整系统时钟不会出现倒退)的时间tick(单位ms),用于计算时间差异,不能用于计算绝对时间。有的嵌入式系统API只能返回32位值,如果继续用64位值会导致计算的diff值错误。
典型用法: uint32_t t1 = system_clock(); // do something uint32_t t2 = system_clock(); int diff = (int)(t2 - t1);
如果某个模块功能需要统计较长时间,可以考虑用system_time函数。
commit: change: system_clock uint64 -> uint32
uint32存储毫秒时间大约是49.7天,之后溢出回滚时可能会导致逻辑判断错误, 服务器长期运行几年甚至几十年不关机,每49.7天都会有个回滚,感觉这可能是个坑