標(biāo)準(zhǔn)庫的time.h里有幾個時間函態(tài)銀數(shù),先教你個實用的把
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)永定,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
time_t time (time_t *timer)
計算從1970年1月1日到當(dāng)前系統(tǒng)時亂灶間,并把結(jié)果返回給timer變量,函數(shù)本身返回的也是這個結(jié)果.time_t這個類型其實就是一個int.
double difftime ( time_t timer2, time_t timer1 )
把返回time2和time1所儲存的時間的差.
利用上面這兩個函數(shù)可以計算某階段程序運行用掉的時間.
例如:
#include stdio.h
#include 嘩閉扮time.h
int main ()
{
time_t start,end;
char szInput [256];
double dif;
time (start);
printf ("Please, enter your name: ");
gets (szInput);
time (end);
dif = difftime (end,start);
printf ("Hi %s.\n", szInput);
printf ("You have taken %.2lf seconds to type your name.\n", dif );
return 0;
}
輸出如下:
Please, enter your name: Juan Soulie
Hi Juan Soulie.
You have taken 3.00 seconds to type your name.
原理:只是執(zhí)行一些所謂的“無實際意義的指令”,如縮放或執(zhí)行一個int自加,簡單地說,就像高中數(shù)學(xué)中的“乘法原理”一樣,很容易迅速增加上面提到的“無意義指令”的數(shù)量
關(guān)于大小的值:如果是在C語言中,該值不僅與水晶振動、單片頌橋機本身的速度,但也與C的編譯器,所以,雖然這個值可以精確計算,但大多數(shù)情況下,程序員是經(jīng)驗值。
當(dāng)然,如果你在匯編中編程,情況就不同了,因為每條指令使用一定數(shù)量的機器周期,你當(dāng)然可以根據(jù)所有指令使用的總時間來計算特定延遲的總時間。
擴展資料:
定義延遲XMS毫秒的延遲函數(shù)
Voiddelay(unsignedintXMS)//XMS表示需要延遲的毫秒數(shù)
{
無符號intx,y;
For(x=XMS;X0;X-)
For(y=110;Y”祥凱0;Y-);
}
使用:
VoidDelay10us(ucharMs)
{
Uchar數(shù)據(jù)我;
(;女士謹(jǐn)櫻喚“0;------Ms)
對于(I = 26)我 0;我-);
}
I=[(延遲值-1.75)*12/ms-15]/4
延遲函數(shù),一般建議調(diào)用系統(tǒng)函數(shù)。不建議循環(huán)。
特慧昌數(shù)別是多任務(wù)操作系統(tǒng),循環(huán)會消耗系統(tǒng)資源。
如果是Dos,indows,linux系統(tǒng)建立調(diào)用迅攔 Sleep()函數(shù)。
其前首他系統(tǒng),請自行查找。