最近的專案需要對程式編碼的時間進行統計分析,統計出的時間在main函式結束前通過控制台輸出。
基本思路是在統計時間的原始檔以及對應的標頭檔案中建立全域性變數,然後主函式輸出全域性變數的數值。開始的時候是按照這個思路進行的,但是做的時候發現,這樣會造成庫檔案的相互呼叫問題,乙個讓人頭大的問題,為了解決這個問題,新建了乙個原始檔和標頭檔案,專門用來定義時間統計的相關變數,然後在需要使用這些變數的原始檔中include時間統計的標頭檔案即可。
在timesum.h中宣告這些變數,
#include
extern clock_t totaltime_start;
extern clock_t totaltime_end;
extern
double totaltime;
在timesum.cpp中定義初始化這些變數,
#include
"../source/lib/timesum.h"
clock_t totaltime_start;
clock_t totaltime_end;
double totaltime =
0;
這樣在其他原始檔中就可以引用imesum.h來使用定義這些全域性變數了。
#include
"../source/lib/timesum.h"
統計a方法的執行時間,
totaltime_start =
clock()
;a()
; totaltime_end =
clock()
; totaltime +=(
double
)(totaltime_end - totaltime_start)
/ clocks_per_sec;
在main中列印出執行時間即可。 程式執行時好時壞問題記錄
最近的工作中,遇到多次這樣的情況,硬體模組使用的時候,有的時候正常,有的時候異常,時好時壞。其中,乙個是射頻模組,總是在初始化的時候失敗。這個模組在多個硬體平台上使用,都遇到類似的情況。另外乙個是網口模組 w5500 上電初始化之後,接收資料是正常的,但是,傳送資料有的時候正常,有的時候異常。而且。...
C 中記錄程式執行時間
關鍵語句 include clock t starttime,endtime starttime clock 計時開始 endtime clock 計時結束 cout the run time is double endtime starttime clocks per sec s endl 完整程...
C 記錄執行時間
包含標頭檔案 ctime clock t start time,end time start time clock for double i 0 i 1000000000 i 放置需要測試時間的 end time clock cout double end time start time clock...