在 Linux (C/C++) 中获取精确到毫秒或微秒的启动时间

Getting millisecond or microsecond-accurate boot time in Linux (C/C++)

Linux是否有任何方法可以获得毫秒或微秒精度的启动时间,以便将启动时间相关的时间戳转换为类似 Unix 时间戳的东西?我找到的最接近的是 /proc/uptime(如 等地方所建议的那样),但不幸的是,这只能让您达到 10 毫秒的精度最佳情况。对于上下文,我有一个与 v4l 一起使用的相机,它提供微秒级精度时间戳,但它们自启动后就及时了。在将它们发送到另一台计算机时,我需要将它们转换为 Unix 时间戳。以某种我不知道的方式提供这件事很难吗?如果是这样,为什么自启动以来这么多事情都在使用时间?

使用clock_gettime(CLOCK_BOOTTIME, &ts).