timeGetTimeで取得する値の49日制限について – プログラミング – Home

timeGetTimeで取得する値の4...
 
通知
すべてクリア

[解決済] timeGetTimeで取得する値の49日制限について


ribenren
 ribenren
(@ribenren)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

VC++.net 2005で開発しています。

timeGetTimeを使用して前回取得時との
時間差が60秒になったら実行する処理をしているのですが、
MSDNにPC起動後の通算時刻で49日以降は使用注意と書かれていました。

49日経過後のPCでtimeGetTimeを実行するとエラーになるのでしょうか?
それともまた0から開始されるのでしょうか?
また0から開始されるのでしたら60秒経過又は以前の時刻よりも減ったらという条件で対
応出来ると考えています。


引用未解決
トピックタグ
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

っていうかきっちり MSDN に解説書いてあるんだけど読んでいない?
>The return value wraps around to 0 every 2^32 milliseconds,
>which is about 49.71 days.
http://msdn2.microsoft.com/en-us/library/ms713418.aspx

> 又は以前の時刻よりも減ったら
そんな必要は無い。
そんなことしたら49日に1回、60秒より短い周期が発生する。
単に、今回の値-前回の値を演算すればいい(オーバーフロー分が勝手に補われる)

timeGetTime の絶対値で処理を行うことは注意が必要(というより禁止)
常に差分を取れば問題ない


返信引用
ribenren
 ribenren
(@ribenren)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

回答ありがとうございました。
よく内容を理解していませんでした。。
強制終了などが起きないか心配していたのですが大丈夫そうですね。
方法も見直してみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました