有4種方法可以達(dá)成測(cè)算程序運(yùn)行時(shí)間的目的。它們分別是使用clock, times, gettimeofday, getrusage來實(shí)現(xiàn)的。下面就來逐一介紹,并比較它們的優(yōu)劣點(diǎn)。
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為萬柏林企業(yè)提供專業(yè)的成都網(wǎng)站制作、做網(wǎng)站,萬柏林網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
C語言中的頭文件time.h中定義了庫(kù)函數(shù)clock(),它返回的是從程序運(yùn)行開始算起的時(shí)間,一時(shí)鐘周期為單位,time.h還定義了符號(hào):CLOCKS_PER_SEC,即一秒鐘的時(shí)鐘周期。
在開始時(shí)用time()函數(shù)取一次時(shí)間,在結(jié)束時(shí)(輸入與生成相同時(shí))再用time()取一次時(shí)間,之后求出再次時(shí)間之差即可。
1、用time()函數(shù)結(jié)合其他函數(shù)(如:localtime、gmtime、asctime、ctime)可以獲得當(dāng)前系統(tǒng)時(shí)間或是標(biāo)準(zhǔn)時(shí)間。用difftime函數(shù)可以計(jì)算兩個(gè)time_t類型的時(shí)間的差值,可以用于計(jì)時(shí)。
2、clock()函數(shù):clock()是c/c++中的計(jì)時(shí)函數(shù),而與其相關(guān)的數(shù)據(jù)類型是clock_t。
3、time() 頭文件:time.h 函數(shù)原型:time_t time(time_t * timer) 功能:返回以格林尼治時(shí)間(GMT)為標(biāo)準(zhǔn),從1970年1月1日00:00:00到現(xiàn)在的此時(shí)此刻所經(jīng)過的秒數(shù)。
4、在開始時(shí)用time()函數(shù)取一次時(shí)間,在結(jié)束時(shí)(輸入與生成相同時(shí))再用time()取一次時(shí)間,之后求出再次時(shí)間之差即可。
5、使用time()函數(shù)。它在頭文件time.h中 具體使用方法如下:time_t a,b;//time_t是表示時(shí)間的結(jié)構(gòu)體,你可以在time.h中找到它的原型。a=time(NULL);//表示獲取當(dāng)前的機(jī)器時(shí)間。
CLOCK()函數(shù):clock()是C/C++中的計(jì)時(shí)函數(shù),而與其相關(guān)的數(shù)據(jù)類型是clock_t。
用difftime函數(shù)可以計(jì)算兩個(gè)time_t類型的時(shí)間的差值,可以用于計(jì)時(shí)。用difftime(t2,t1)要比t2-t1更準(zhǔn)確,因?yàn)镃標(biāo)準(zhǔn)中并沒有規(guī)定time_t的單位一定是秒,而difftime會(huì)根據(jù)機(jī)器進(jìn)行轉(zhuǎn)換,更可靠。
建議使用time gettimeofday函數(shù)來計(jì)時(shí)。
clock() 頭文件:time.h 函數(shù)原型:clock_t clock(void); 功能:該函數(shù)返回值是硬件滴答數(shù),要換算成秒,需要除以CLK_TCK或者 CLK_TCKCLOCKS_PER_SEC。比如,在VC++0下,這兩個(gè)量的值都是1000。
如果10秒期間不需要該程序操作/執(zhí)行別的指令,只需在10秒后變動(dòng)數(shù)組的值以及輸出,可以用sleep(int)函數(shù),參數(shù)是休眠/等待的時(shí)間, 單位是秒。
1、用time()函數(shù)結(jié)合其他函數(shù)(如:localtime、gmtime、asctime、ctime)可以獲得當(dāng)前系統(tǒng)時(shí)間或是標(biāo)準(zhǔn)時(shí)間。用difftime函數(shù)可以計(jì)算兩個(gè)time_t類型的時(shí)間的差值,可以用于計(jì)時(shí)。
2、有,CLOCK函數(shù)。clock()是C/C++中的計(jì)時(shí)函數(shù),而與其相關(guān)的數(shù)據(jù)類型是clock_t。
3、time_t a,b;//time_t是表示時(shí)間的結(jié)構(gòu)體,你可以在time.h中找到它的原型。a=time(NULL);//表示獲取當(dāng)前的機(jī)器時(shí)間。代碼段 b=time(NULL);//表示獲取當(dāng)前的機(jī)器時(shí)間。
4、clock()是C/C++中的計(jì)時(shí)函數(shù),而與其相關(guān)的數(shù)據(jù)類型是clock_t。
網(wǎng)頁題目:c語言函數(shù)運(yùn)行計(jì)時(shí) c語言程序運(yùn)行時(shí)間函數(shù)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article39/diogish.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站維護(hù)、軟件開發(fā)、虛擬主機(jī)、、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)