[解決済み] time_t をミリ秒に設定する。
2022-02-07 04:09:54
質問
ある関数があり、その関数があるミリ秒間実行されたら、その関数の実行を停止させたいと思っています。この関数は秒単位では動作するのですが、ミリ秒単位でテストしたいのです。どうすればいいのでしょうか?elim = 1とすると、1秒に相当します。elim = 5 ms に設定するにはどうしたらよいでしょうか?
機能です。
void clsfy_proc(S_SNR_TARGET_SET pSonarTargetSet, unsigned char *target_num, time_t eliminate)
{
// get timing
time_t _start = time(NULL);
time_t _end = _start + eliminate;
int _eliminate = 0;
//some code
time_t start = time(NULL);
time_t end = start + eliminate;
for(_tidx = 0; _tidx < pSonarTargetSet[_i].num; _tidx++) {
// check timing
time_t _current = time(NULL);
if (_current > _end) {
printf("clsfy_proc(1), Eliminate due to timeout\n");
_eliminate = 1;
break;
}
//some code
if (_eliminate == 1)
break;
}
//some code
}
解決方法は?
time_t
は絶対時間で、UNIXエポック(1970年1月1日のGMT深夜)からの秒数の整数値で表されます。これは、ある時点の時刻を曖昧さをなくして簡単に表現するのに便利です。
clock_t
は時間の相対的な測定値で、ある時点(コンピュータの起動時かもしれないが、頻繁にロールオーバーする可能性があるので保証はない)からの時計の目盛り数の整数値で表される。CLOCKS_PER_SECは1秒あたりのクロックティック数であり、この定数の値はオペレーティングシステムによって異なる場合がある。タイミングをとる目的で使われることもありますが、比較的解像度が低いため、あまり得意ではありません。
の小さな例をひとつ。
clock_t
:
#include <time.h>
#include <stdio.h>
int main () {
clock_t start_t, end_t, total_t;
int i;
start_t = clock();
printf("Starting of the program, start_t = %ld\n", start_t);
for(i=0; i< 10000000; i++) { }
end_t = clock();
printf("End of the big loop, end_t = %ld\n", end_t);
total_t = (double)(end_t - start_t) / CLOCKS_PER_SEC;
printf("Total time taken by CPU: %f\n", total_t );
return(0);
}
関連
-
[解決済み】変数の警告が設定されているが使用されていない
-
[解決済み】単項演算子「*」の型が無効(「int」がある)C言語でのエラー
-
[解決済み] struct で "warning: useless storage class specifier in empty declaration" (警告: 空の宣言での無駄なストレージクラス指定子)
-
[解決済み】MB/sとMiB/sを計算する方法は?
-
[解決済み】エラー。非スカラー型への変換を要求された
-
[解決済み】malloc():メモリ破壊
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] Pythonでミリ秒単位で現在時刻を取得する?
-
[解決済み] Javaでミリ秒を「X分X秒」に変換するには?
-
[解決済み] 時間(ミリ秒)を取得するコマンド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C言語で「関数の型が競合しています」と表示される、なぜ?
-
[解決済み】Cコンパイルエラーです。Idは1終了ステータスを返した
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】 strcpyとstrdupの比較
-
[解決済み】Cygwin - Makefile-error: ターゲット `main.o' のレシピに失敗しました。
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み] [Solved] .Cファイルをコンパイルしています。アーキテクチャ x86_64 の未定義シンボル
-
[解決済み】エラー:呼び出されたオブジェクトは、関数または関数ポインタではない
-
[解決済み】警告:式の結果が未使用の場合