はじめまして。初心者ですが質問させてください。
一定時間プログラムを止めておく関数にSleep()があると思うのですがカッコ内にはいるのは1000分の1秒単位です。もっと小さい単位でプログラムを止めておきたいと考えています。
具体的には、CPUのクロック周波数の時間だけプログラムを止めておきたいのですがどのようにすればよいでしょうか?
現在は関係のないfor(h=0;h<t;t++){}といったプログラムをはさむことで時間を制御(プログラムを止めている)しています。
どなたか知恵を貸していただけないでしょうか?よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
言語の問題ではなくOSに依存します。
マルチタスクで動くOSでは同じ命令数であっても優先順位やバックグラウンドでうごいている他のプロセスもあるので
ミリ秒以下の精度はあまり期待はできません。
もしそれでもいいなら分解能を使います。
WindowsならAPIのQueryPerformanceCounterや
QueryPerformanceFrequency等を使って
そのカウンターを監視させるというかんじになると思います。
(CPUがマルチコア/CPUな場合SetThreadAffinityMaskを使って明示的にCPUを指定する必要があるようです。)
あと自分自身のスレッドはSetThreadPriorityで優先順位を最高に
設定しておくと良いでしょう。
No.2
- 回答日時:
No.1
- 回答日時:
そこまで細かい精度を求めるならCでは無理だと思います。
コンパイラによって結果も変わるでしょう。
アセンブラなら各命令に必要なクロック数が分かるので止めたいクロック数だけ無駄な命令を実行するだけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# win10で、正確な待ち時間の作り方 6 2023/02/14 18:28
- Windows 10 このWindowsUpdateの失敗メッセージは何を物語るか? 5 2023/07/17 11:49
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(コンピューター・テクノロジー) クロック周波数が4GHzのCPUは,4クロック1命令処理できると仮定した場合,1秒間に何回の処理が可 2 2023/01/11 18:59
- C言語・C++・C# プログラム内から、MIDIファイルの一部分だけを再生する方法 1 2023/02/15 11:08
- Windows 10 windows11 update の「更新の再開」について初歩的な質問なのですが 1 2022/10/19 00:57
- AI・ロボット 人はロボット(AIなど)を作ります 人間は神によってプログラムされたロボットだと考えれば 最近起きた 2 2023/02/05 00:01
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- Visual Basic(VBA) vba Sleep関数について教えてください 1 2023/01/18 10:18
- その他(ビジネス・キャリア) グーグルの障害者訓練プログラム募集あるがどうだろ?6時間勤務で月収22万!! 1 2023/02/17 20:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAにてメール作成した際、一部...
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
■AU「 スマホトクするプログラ...
-
「Outlookが他のプログラムによ...
-
クリックするとページ内で説明...
-
XnViewにwebpを「いつも開く」...
-
PICマイコンのコピー(クローン...
-
背景除去のプログラムを作りたい
-
VBAでユーザーフォームが自動的...
-
スポーツ施設での出来事で心配...
-
インクリメント演算子のみを用...
-
Fortran流体シミュレーション
-
gifアニメ―ションを動画(mp4で...
-
C言語で移動平均のプログラムを...
-
最長周期系列(M系列?)の生成プ...
-
等差数列の和を求めるプログラム
-
Notepad++の関数リスト表示でC...
-
じゃんけん 勝ち負けアイコ回...
-
3つの整数を読み込み昇順に並べ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
Excelに埋め込んだVBAのプログ...
-
「Outlookが他のプログラムによ...
-
VBAにてメール作成した際、一部...
-
Notepad++の関数リスト表示でC...
-
自動クエリとはどういうもので...
-
読み込み中にアクセス違反が発...
-
PICマイコンのコピー(クローン...
-
XnViewにwebpを「いつも開く」...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
UWSCで指定のフォルダを開きたい。
-
パックマンプログラム
-
このプログラミング誰か教えて...
-
モジュール、アプリケーション...
-
Vba UserFormを前面に出す方法...
-
特定のwebサイトのタイトルや記...
-
ドロップダウンリストの文字を...
-
画像を読み込むのと取り込むの...
おすすめ情報