掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
時間を待たせるには (ID:88387)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>timeGetTime のバグの話ですけど、連続で49.7日間(?)連続動作させた時に0に戻 >ると言うことではなかったかな?(1msを1として表した時のunsigned Longの最高) >足し算する時にタイミング(24日目くらい)により実行時エラー(オーバーフロー) >がでそうですね。多分、無限ループすることはないでしょう。 そうですね。終了予定時間をLongで保持する場合は無限ループではなくて ・実行時エラーが出る事がある ・Long型が符号付き32ビット整数なので大小の比較が誤った判定結果を返す場合がある(それにより、運が悪いとウェイト時間が49.7日長くなってしまう) ということになりますね。 # Nowの代わりにGetSystemTime で現在時刻をミリ秒まで取得してループさせれば # 精度もオーバーフローも問題がない気がしますが、処理が複雑になるので非常に # 短い時間のウェイトには向いていませんね。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.