【发布时间】:2010-11-28 19:56:39
【问题描述】:
当我尝试像这里描述的那样设置计算机硬件时钟时:
How Do You Programmatically Set the Hardware Clock on Linux?
它不工作(时间没有更新到新时间)。
fd = open("/dev/rtc", O_RDONLY); //<- return 3
ioctl(fd, RTC_SET_TIME, &rt); //<- return 0
当我添加时
system("/sbin/hwclock --systohc");
我明白了:
无法通过以下方式访问硬件时钟 任何已知的方法
从工作的终端执行 hwclock --systohc。
它是 VirtualBox 中的 Ubuntu 10.10 机器。
我在 GCC 4.4.5 中使用 Code::Blocks 10.05
这是我的完整源代码:
是的,我以 root 身份执行程序。
【问题讨论】:
-
由于您将时间设置为 rtc,而不是由
stime设置。应该调用/sbin/hwclock --hctosys而不是--systohc。--hctosys会从硬件时钟同步系统时间。
标签: linux gcc codeblocks clock