使用stime()和clock_settime()设置什么?

kir*_*e40 5 c c++ clock

使用stime()和clock_settime()设置哪个时钟?正如我在人类中所读到的,两者都可以设置Linux时间.函数stime()设置"时间的概念"和clock_settime()与参数CLOCK_REALTIME可以设置"系统范围的RTC".

1)这些时钟是什么?
2)有什么不同吗?
3)他们还设置了HW时钟吗?
4)如果没有:有没有人知道在不使用ioctl()的情况下在C/C++中设置hwclock的聪明方法?

[更新1]
更具体的第4点:什么是C等价物std::system("/sbin/hwclock -w")

MrS*_*kox 1

抱歉这个简短的回答我实际上只是想发表评论,但它不允许我这样做。

很好地帮助你解决你的问题4。谷歌上的一些快速研究让我去了 https://github.com/karelzak/util-linux/blob/master/sys-utils/hwclock.c 我没有研究这个代码超过2分钟但快速搜索显示第 468 行:

static void set_hardware_clock(const time_t newtime, const bool universal, const bool testing)

编辑:

顺便说一句,查看维基百科http://en.wikipedia.org/wiki/Util-linux 和 man rtc