5

stime()とclock_settime()を使用して設定されるクロックはどれですか?私が人間で読むことができるように、両方ともLinux時間を設定することができます。関数stime()は「時間の概念」を設定し、パラメーターCLOCK_REALTIMEを指定したclock_settime()は「システム全体のRTC」を設定できます。

1)これらの時計は何ですか?
2)違いはありますか?
3)HWクロックも設定していますか?
4)そうでない場合:ioctl()を使用せずにC / C ++でhwclockを設定するスマートな方法を知っている人はいますか?

[更新1]
より具体的なポイント4:Cに相当するものは何std::system("/sbin/hwclock -w")ですか?

4

3 に答える 3

1

この短い回答で申し訳ありませんが、実際にはコメントをしたかっただけですが、それは許可されません。

質問 4 についてお役に立てれば幸いです。Google で簡単に調査したところ、 https://github.com/karelzak/util-linux/blob/master/sys-utils/hwclock.c に送信されました。数分ですが、クイック検索で 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

于 2014-03-21T16:05:44.790 に答える
0

clock_settime()およびstime()は、システム時間を設定するために使用されるセッター機能であり、マシンから独立しているハードウェアクロックではありません。

システムが起動すると、システム時刻はハードウェアクロックで設定されます。Linuxには、ハードウェアクロックを処理するためのコマンドがありhwclockます。詳細については、次のリンクを確認してください:http: //linux.die.net/man/8/hwclock

于 2012-10-08T11:49:51.260 に答える