使用C 編寫的乙個通用的測試函式

2021-10-08 04:52:35 字數 1274 閱讀 7924

在測試的時候,經常要寫很多前後的測評**,為了利用這些**,本文編寫了乙個簡易的函式,通過這個函式的定義,可以很方便地進行效能測試。

函式的簽名為void timing(const string &testname, int (*p)(void)),其中第1個引數為測試名稱,第2個為測試函式。測試函式的型別是無引數返回整型的函式,返回的值為資料的大小。函式的使用是對輸入的測試函式進行計時和運算速度統計。具體實現如下所示。

void

timing

(const string &testname,

int(

*p)(

void))

比如我們要進行乙個字串連線效能測試,測試**如下所示:

int

stringcontest()

;int times =

10485760

;// 1m次追加,資料長度為 10m

for(

int i =

0; i < times; i++

)return times * s1.

size()

;}

那麼在主函式中進行以下編寫即可:

int

main()

返回如下所示:

c:\users\hao\clionprojects\helloworld\cmake-build-debug\filetest.exe

----------------- string concatenation -----------------

time: 989.611 ms.

size: 320 mb

speed: 323.359 mb/s

----------------- string concatenation -----------------

time: 921.649 ms.

size: 320 mb

speed: 347.204 mb/s

----------------- string concatenation -----------------

time: 901.815 ms.

size: 320 mb

speed: 354.84 mb/s

本文定義了乙個簡易的測試函式,通過本測試函式,可以方便地對一些測試進行計時和效能測試。同時,根據實際需要可以進行相應的擴充套件。

乙個通用Makefile的編寫

我們在linux環境下開發程式,少不了要自己編寫makefile,乙個稍微大一些的工程下面都會包含很多.c的原始檔。如果我們用gcc去乙個乙個編譯每乙個原始檔的話,效率會低很多,但是如果我們可以寫乙個makefile,那麼只需要執行乙個make就ok了,這樣大大提高了開發效率。但是makefile的...

編寫乙個簡單通用的makefile

author 李超 date 2012 05 06 縱然makefile 的規則還是相當多的,編寫乙個大規模的軟體,良好的 makefile 架構是方便維護程式編譯的關鍵。學習 makefile 的時間週期還是比較長的,為了寫出規範的 需要在很短的時間內編寫乙個 makefile 這裡給給出乙個 m...

編寫乙個通用的Makefile檔案

1.1在這之前,我們需要了解程式的編譯過程 a.預處理 檢查語法錯誤,展開巨集,包含標頭檔案等 b.編譯 c s c.彙編 s o 1.2體驗在vc下程式的編譯 a.先編譯,在鏈結 b.修改了哪個檔案,就單獨編譯此檔案,在鏈結 c.修改了哪個標頭檔案,就單獨編譯使用該標頭檔案的原始檔,在鏈結 1.3...