设置linux上的硬件时钟不工作

设置linux上的硬件时钟不工作,linux,gcc,codeblocks,clock,Linux,Gcc,Codeblocks,Clock,当我尝试设置计算机硬件时钟时,如下所述: 它不工作(时间未更新为新时间) 我得到: 无法通过访问硬件时钟 任何已知的方法 从终端工作状态执行hwclock--systohc 它是VirtualBox中的Ubuntu10.10Mashine 我使用代码::Blocks 10.05和GCC 4.4.5 以下是我的完整源代码: 是的,我以root用户身份执行程序。我怀疑,在虚拟环境中运行的机器上是否可以设置高清时钟。我怀疑,如果可以在虚拟环境中运行的机器中设置HD时钟。VirtualBox是否不模

当我尝试设置计算机硬件时钟时,如下所述:

它不工作(时间未更新为新时间)

我得到:

无法通过访问硬件时钟 任何已知的方法

从终端工作状态执行hwclock--systohc

它是VirtualBox中的Ubuntu10.10Mashine

我使用代码::Blocks 10.05和GCC 4.4.5

以下是我的完整源代码:


是的,我以root用户身份执行程序。

我怀疑,在虚拟环境中运行的机器上是否可以设置高清时钟。

我怀疑,如果可以在虚拟环境中运行的机器中设置HD时钟。

VirtualBox是否不模拟虚拟RTC?@mc kay您可能需要通过VirtualBox的选项为虚拟机指定UTC。我在VirtualBox设置中启用了“硬件时钟UTC”。我没有真正的Linux机器,那么有人能测试一下这段代码吗?@mc kay你能直接在你的shell中执行/sbin/hwclock--systohc吗?VirtualBox没有模拟虚拟RTC吗?@mc kay你可能需要通过VirtualBox的选项为虚拟机指定UTC。我在VirtualBox设置中启用了“UTC硬件时钟”。我没有真正的Linux机器,有人能测试一下这段代码吗?@mc kay你能直接在shell中执行/sbin/hwclock--systohc吗?因为你把时间设置为rtc,而不是由
时间设置的
/sbin/hwclock--hctosys
应该被调用,而不是
--systohc
--hctosys
将从硬件时钟同步系统时间。因为您将时间设置为rtc,而不是由
stime
设置
/sbin/hwclock--hctosys
应该被调用,而不是
--systohc
<代码>--hctosys
将从硬件时钟同步系统时间。
fd = open("/dev/rtc", O_RDONLY); //<- return 3

ioctl(fd, RTC_SET_TIME, &rt); //<- return 0
system("/sbin/hwclock --systohc");