問題タブ [timeval]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C で経過時間を計算するには、timeval と clock() のいずれかを選択します
timeval と clock() 関数を使用して、C プログラムの 2 つのアクション間の時間差を確認しています。どういうわけか、timeval は適切なミリ秒単位の経過時間を与えてくれるようです。ここで、clock() は非常に少ない値を与えます。
その後しばらくして
通常の出力は次のとおりです。
遅延 1: 1577.603027 遅延: 0.800000
delay1 はミリ秒単位、delay は秒単位です。
私は archlinux 64 ビットを使用しています。なぜこれが起こっているのか理解できません。
c - 関数のランタイムを取得するマクロを作成する方法は?
関数 A が実行される時間を知りたい場合、次のようなコードを記述できます。
しかし、Runtime(A)、おそらくRuntime(A、B、...)などのMACROにカプセル化するにはどうすればよいですか?いくつかの関数が一緒に実行されることもあります。
c# - timeval 構造体を C# に変換する
私はこの質問がとても単純かもしれないことを知っています.私は次のコードを持っています.C#に変換する必要があります.私は何も見つかりませんでしtimeval structure
たselect function
。私は正しいですか?? いいえの場合、どうすればC#に変換できますか??? 正確には何の責任select function
ですか?? ありがとうございます。
問題の開始と問題の終了の間のコードはまったく必要ないと思います! 真実??
c - 警告: フォーマット '%06d' はタイプ 'int' を想定していますが、引数 5 のタイプは '__suseconds_t' です
私はこのコードを使用しています:
このSOの回答から:
https://stackoverflow.com/a/2409054/997112
struct timeval を読み取り可能な形式で出力します。ただし、次のコンパイラ警告が表示されます。
誰か助けてくれませんか?
c - snprintf は strftime を使用して変換された timeval を出力しませんか?
私はSOからこの答えを得ました:
https://stackoverflow.com/a/2409054/997112
timeval 構造体をわかりやすい形式で出力できるようにします。コンパイラの警告が表示されたため、次"%s.%06d"
のように変更する必要がありました。"%s.%06ld"
ただし、有効な時間を過ぎると何も印刷されません。
関数を呼び出す前に、渡した timeval の秒数を確認したところ、1404120855 が返されたので、timeval が正しく、問題は関数にあると確信していますか?
c - getrusage の仕組みと rusage 構造体の中身は?
私は方法を理解しようとしています
私のプログラムの実行時間を計算するために機能します。
たぶん 10 回は man ページを読み直しましたが、それでもわかりません。Web で何かを見つけようとしましたが、この機能に関するマニュアル ページしか見つかりませんでした。
不明な点は、rusage 構造体の内部に何が格納されているかです。man ページはあまり明確ではありません。そのため、デバッガーで実行して内部の内容を直接確認しようとしましたが、特に 2 つの構造体がどのように機能するか、まだわかりません。 - timeval ru_utime と timeval ru_stime - 動作します。
それらの内部にあるものは、ある時は 0、ある時は 2000 など、異なる値を想定しています。
メモリの割り当てと解放を継続的に行う for ループを含む単純なプログラムを実行しました。ストップウォッチを使って実際に何時間かかるかを確認したところ、5.23秒かかりました。しかし、これらの構造体に見られるのはまったく無関係のようです:
ループ前:
ru_utime = { tv_sec = 0, tv_usec = 1000}, ru_stime = { tv_sec = 0, tv_usec = 1000}
ループ後:
ru_utime = { tv_sec = 4, tv_usec = 677000}, ru_stime = { tv_sec = 0, tv_usec = 2000}
だから、誰か私にこれを説明するか、これが説明されている良いリンクを教えてもらえますか?
とても感謝しています。
c - ユーザーが何かを入力した場合のステートメントの切り替え: 無限およびタイムアウトあり
私がやりたいことをより明確に説明するために、ユーザーが何かを入力したかどうか (または 0 以外のファイル記述子に読み取るデータがあるかどうか) を 2.5 秒ごとに (たとえば) プログラムが停止するまでチェックするようにコードを作成します。
ユーザーが何かを入力すると、簡単printf()
に通知され、プログラムは次の 2.5 秒以内にユーザーが何かを入力したかどうかを再度確認します。
それ以外の場合は、時間がなくなったことを単に出力し、次の 2.5 秒でユーザー入力を再度チェックする必要があります。
そして、Beej の Guide to Network Programmingから盗み、私の要件を満たすように (しようとして) 修正したコード スニペットを次に示します。
キーを押さない限り、これは正常に機能し、「Timed out」と表示されます。2.5秒ごと。しかし、何かを入力すると、ユーザー入力が無視され、「Timed out.」と出力され続けるようです。
一方、無限ループ内fd_set
で and を宣言すると、何かを入力すると、タイムアウトを無視するかのように、キーが押されたことが無限に出力されます。struct timeval
このような単純なコードが機能しない理由がわかりません。私が知らないファイル記述子について、いくつかの点が欠けていると思います。