OSX で clock() を使用すると問題が発生します。プログラムの開始からの経過時間を表示したいだけです。問題は、clock_t 構造体を CLOCKS_PER_SEC で除算すると、奇妙な結果が得られることです。
プログラムを 10 秒間実行すると、1.0 が表示されます。私のシステムでは、CLOCKS_PER_SEC が 1,000,000 に設定されています。
ここに私のコードのサンプルがあります:
//startTime = clock() at the start of the program
//This is called in each program loop
elapsedTime = (double)(clock() - startTime)/CLOCKS_PER_SEC
実行している場合は、eplapseTime * 10 秒単位で正確な値を取得します。プログラムの実行中は、スリープも待機もしません。
何が起こっているのかを理解する助けがあれば、本当に感謝しています。
編集:
OK、キャストを修正しましたが、プログラムを 10 秒間実行すると 1.0 が得られるという事実は変わりません。1 秒は 0.1 です。これは私が理解していないものです。私の CLOCKS_PER_SEC は CLOCKS_PER_TEN_SEC のようなものです。