Linux時間函式之 gettimeofday() 函式之使用方法
一.gettimeofday()函式的使用方法
1.簡介:
在C語言中可以使用函式gettimeofday()函式來得到時間。它的精度可以達到微妙
2.函式原型:
#include<sys/time.h>
int gettimeofday(struct timeval*tv,struct timezone *tz )
3.說明:
gettimeofday()會把目前的時間用tv 結構體返回,當地時區的資訊則放到tz所指的結構中
4.結構體:
1>timeval
struct timeval{
long tv_sec;/*秒*/
long tv_usec;/*微妙*/
};
2>timezone 結構定義為:
struct timezone{
int tz_minuteswest;/*和greenwich 時間差了多少分鐘*/
int tz_dsttime;/*type of DST correction*/
}
3>在gettimeofday()函式中tv或者tz都可以為空。如果為空則就不返回其對應的結構體。
4>函式執行成功後返回0,失敗後返回-1,錯誤程式碼存於errno中。
5.程式例項:
#include<stdio.h>
#include<sys/time.h>
#include<unistd.h>
int main()
{
struct timeval tv;
struct timezone tz;
gettimeofday(&tv,&tz);
printf(“tv_sec:%d\n”,tv.tv_sec);
printf(“tv_usec:%d\n”,tv.tv_usec);
printf(“tz_minuteswest:%d\n”,tz.tz_minuteswest);
printf(“tz_dsttime:%d\n”,tz.tz_dsttime);
}
說明:在使用gettimeofday()函式時,第二個引數一般都為空,因為我們一般都只是為了獲得當前時間,而不用獲得timezone的數值
二.gettimeofday()函式的一個常用方法
在測試程式時,往往需要了解程式執行所需的時間,在Linux中可以使用函式gettimeofday來得到時間.
1.程式例項:
測試呼叫delya()函式所需執行的時間(單位為微妙)
#include<stdio.h>
#include<sys/time.h>
#include<unistd.h>
int delay(int time)
{
int i,j;
for(i =0;i<time;i++)
for(j=0;j<5000;j++)
;
}
int main()
{
struct timeval start;
struct timeval end;
unsigned long diff;
gettimeofday(&start,NULL);
delay(10);
gettimeofday(&end,NULL);
diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec;
printf(“thedifference is %ld\n”,diff);
return 0;
}
說明:
使用該方法就可以檢測出呼叫delay()函式所使用的時間
相關推薦
Linux時間函式之 gettimeofday() 函式之使用方法
一.gettimeofday()函式的使用方法 1.簡介: 在C語言中可以使用函式gettimeofday()函式來得到時間。它的精度可以達到微妙 2.函式原型: #include<
Linux時間函式之gettimeofday()函式之使用方法
一.gettimeofday()函式的使用方法:1.簡介:在C語言中可以使用函式gettimeofday()函式來得到時間。它的精度可以達到微妙2.函式原型:#include<sys/time.h>int gettimeofday(struct timeval*
Linux 時間函式之 gettimeofday() 函式之使用方法
一.gettimeofday() 函式的使用方法: 1.簡介: 在 C 語言中可以使用函式 gettimeofday() 函式來得到時間。它的精度可以達到微妙 2.函式原型: #include<sys/time.h> int gettimeofday(stru
c函式之gettimeofday()函式獲取系統時間
gettimeofday 使用C語言編寫程式需要獲得當前精確時間(1970年1月1日到現在的時間),或者為執行計時,可以使用gettimeofday()函式。 函式原型: int gettimeofday(struct timeval*tv, struct
C語言linux環境下使用gettimeofday函式得到程式執行時間
編寫的一個打字遊戲中需要計算程式的執行時間,通過網上查閱資料發現大多數都是說通過clock()函式來獲取時間,之後做差從而的到程式的執行時間。但是在linux中測試以後發現結果是0,並不能得到程式的執行時間。 請教老師後得知可以通過引用標頭檔案time.h,使
Linux時間和字元轉換函式
//linux作業系統提供的時間操作函式。 時間操作函: /* * date +%s -d '2004/06/04 20:30:00' //將時間轉換成毫秒數。 * int gettimeofday(struct timeval *tv, struct
Function 之 Read_Text 函式的使用方法
在SAP系統中,有時候會有大段文字內容需要儲存.例如:銷售發貨(VL03N),在單據的概覽中 ,有一個[文字]項,在此處可以填寫單據的大段文字描述,那麼該內容儲存在哪裡呢?第一反應是找對應表的欄位,那麼你可能要失望了。在SAP系統中,可以供我們使用的資料庫欄位最大長度是255個文字字元(注:此處可能
linux C函式之stat函式
1.函式功能: 通過檔名filename獲取檔案資訊,並儲存在buf所指的結構體stat中 2.函式原型 1)函式標頭檔案 #include <sys/stat.h> #include <unistd.h> 2)函式 int stat(const c
跟老齊學Python之私有函式和專有方法
在任何語言中,都會規定某些物件(屬性、方法、函式、類等)只能夠在某個範圍內訪問,出了這個範圍就不能訪問了。這是“公”、“私”之分。此外,還會專門為某些特殊的東西指定一些特殊表示,比如類的名字就不能用class,def等,這就是保留字。除了保留字,python中還為類的名字做了某些特殊準備,就是“專有
linux之select函式用法詳解
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Linux核心啟動第二階段之setup_arch函式分析
轉自:http://blog.chinaunix.net/uid-20672257-id-2383451.html 執行setup_arch()函式 回到start_kernel當中,569行,呼叫setup_arch函式,傳給他的引數是
linux C函式之access函式的用法【轉】
1.函式功能: 檢查呼叫程序是否可以對指定的檔案執行某種操作。 2.函式原型: 1)函式標頭檔案 #include <stdio.h> #include <unistd.h> 2)函式 int access(
Linux I/O複用之select函式詳解
置頂 2017年02月12日 20:50:08 難免有錯_ 閱讀數:7438更多 select函式的功能和呼叫順序 使用select函式時統一監視多個檔案描述符的: 1、 是否存在套接字接收資料? 2、 無需阻塞傳輸資料的套接字有哪些? 3、 哪些套接字發生了
MATLAB之fprintf函式的具體使用方法
fprintf函式可以將資料按指定格式寫入到文字檔案中。其呼叫格式為: 資料的格式化輸出:fprintf(fid,format,variables) 按指定的格式將變數的值輸出到螢幕或指定檔案 fid為檔案控制代碼,若預設,則輸出到螢幕 format用來指定資料輸出時採用的格式 %
Linux學習(C語言學習之函式的使用)
C語言的函式在理解和使用中主要從以下幾個方面來思考: 什麼是函式? 函式的入口引數 函式的返回值 函式具備三要素: 1、函式名 (地址) 2、輸入引數 3、返回值 在定義函式時,必須將三要素告訴編譯器; 命令:man 3 printf;可以檢視關於printf的
Linux高階程式設計基礎——程序間通訊之用sigqueue函式和sigaction函式實現訊號的安裝與傳送
程序間通訊之用sigqueue函式和sigaction函式實現訊號的安裝與傳送 程序A向程序B傳送SIGUSR1訊號; 程序B收到訊號後,列印字串“receive SIGUSR1”; 要求用sigqueue函式和sigaction函式實現以上功能; /這個實
Linux C高階程式設計——網路程式設計之包裹函式
Linux網路程式設計(六)——包裹函式 宗旨:技術的學習是有限的,分享的精神是無限的。 系統呼叫不能保證每次都成功,必須進行出
Linux C高階程式設計——檔案操作之庫函式
Linux C高階程式設計——檔案操作之庫函式 宗旨:技術的學習是有限的,分享的精神是無限的 ——為什麼要設計標準I/O庫? 直接使用API進行檔案訪問時,需要考慮許多細節問題 例如:read、write時,緩衝區的大小該如何確定,才能使效率最優 標準I/O庫封裝了諸多
Linux程式設計之ioremap函式的例項解析
void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) 入口: phys_addr:要對映的起始的IO地址; size:要對映的空間的大小; flags:要對映
Linux-C網路程式設計之epoll函式
上文中說到如果從100的不同的地方取外賣,那麼epoll相當於一部手機,當外賣到達後,送貨員可以通知你,從而達到每去必得,少走很多路。 它是如何實現這些作用的呢? epoll的功能 epoll是select/poll的強化版,同是多路複用的函式,epoll