掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.24314

プログラムの実行時間計測について
投稿者---バード(2005/11/22 15:50:38)


こんにちは。はじめて投稿させていただきます。

以下のプログラムは、送信側から送信されたパケットを受信するたびに、message関数が呼ばれ、fwriteにてファイルに書き込むと言うプログラムです。

message関数内の処理は、「test」と言う文字を含むパケットがくると、ファイルに書き込み、clock関数を用いて時間を計測。「End!」がくると、ファイルに書き込みしていたトータル時間を表示するという処理にしています。

clock関数を用いて、ファイルに書き込んでいる、トータルの時間を得たいのですが、以下のプログラムでは、どうしても0秒になってしまいます。

void main(int argc, char** argv){

//パケットが受信される度にmessage関数が呼ばれます。
message();

}

void message(){
int time;
clock_t start,finish;
static int total_time = 0;

if(equals(msg->selector,(byte*)"test",strlen("test"))){
start = clock();
fwrite(msg->payload,msg->payload_length,1,fp);
finish = clock();

time = finish - start;
total_time += time;
}
else if(equals(msg->payload,(byte*)"End!",strlen("End!"))){
printf("データ受信時間:%dミリ秒\n",total_time);
}
}

なにか、解決方法はありますでしょうか?
よろしくお願いします。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧