1. 程式人生 > >C語言函式clock ,比秒更精確的計時

C語言函式clock ,比秒更精確的計時

   在用 cocos2d-x的過程中,想計算時間差,比如touchbegin與touchend的點選時間差的時候,需要獲得當前的時間,這個時候一般用的是time(NULL)來獲得,返回的單位是time_t 在ios平臺上看了下,也就是long,也就是從1970年1月1日開始的秒數。但是這個時間不是很精確,只能精確到秒。

   如果要經常到毫秒,或者微秒,有沒有類似 GetTickCount(windows平臺)的函式呢?

   google了一下,搜到一個 c的函式  :clock_t clock(void);

函式返回一個clock_t  型別,其實也是個long,然後怎麼知道  這個返回值的表示多少時間呢?

   這裡有個巨集,CLOCKS_PER_SEC 明顯就是 一秒鐘有多少clocks的意思,那麼我們要獲取當前的用秒做單位的時間就好做了,程式碼如下:

   float  curTimeSec =  (float) click()/(float) CLOCKS_PER_SEC ;

相關推薦

C語言函式clock ,精確計時

   在用 cocos2d-x的過程中,想計算時間差,比如touchbegin與touchend的點選時間差的時候,需要獲得當前的時間,這個時候一般用的是time(NULL)來獲得,返回的單位是time_t 在ios平臺上看了下,也就是long,也就是從1970年1月1日開

C語言 函式返回一位陣列,二維陣列

方法一: 萬能的結構體:構造陣列的結構體,將函式型別定義為此型別 但是考試的時候應該不太方便寫結構體,寫不下也會很麻煩,故介紹方法二 方法二: 指標傳遞: 1、返回一維陣列 例子:將陣列每一位加一: #include<stdio.h> #define N 10 int

c語言 函式遞迴的簡單應用

       利用函式遞迴來時現將一個sh數的每一位拆出來然後求和,即是:例如一個shu數  1888;它的每一位sh是 1  8  8   8,而每一位的每一位的和最終是  25,而接下來jian建立用函式的

c語言函式lseek函式

原文連結:http://c.biancheng.net/cpp/html/236.html 相關函式:dup, open, fseek 標頭檔案:#include <sys/types.h> #include <unistd.h> 定義函式:off_t l

C語言函式庫:動態連結庫與靜態連結庫

首先,函式庫就是一些事先寫好的函式的集合,是別人分享的,我們可以拿來使用的。經過一些校準和整理,就形成一份標準化的函式庫。例如glibc 函式庫有兩種提供形式:動態連結庫與靜態連結庫 早起函式庫裡的函式都是直接共享的,就是所謂的開源社群。後來函式庫商業化,就出現了靜態連結庫與動態連結庫。

c語言函式的運用

1.猜數字遊戲 將選單和執行猜數字的主體都用main函式以外的自定義函式編寫,再由main函式呼叫後,執行結果 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #incl

Linux下的C語言函式perror

perror的函式原型為`void perror(const char *s)` 這個函式會先輸出你傳給他的實參 s 所指的字串,後面再加上錯誤原因字串。此錯誤原因依照全域性變數errno 的值來決定要輸出的字串。 在庫函式中有個errno變數,每個errno值對應著以字串表示的錯誤型別。當

C語言函式的指標小練習

總時間限制:  1000ms   記憶體限制:  65536kB // 在此處補充你的程式碼 描述 程式填空,使得輸出結果為: 1,4,9,16,25,  h,e,l,l,o,!, #include <iostream

C語言 函式指標呼叫時加星號與不加星號?

函式指標在賦值以後,例如通過庫動態載入方式,然後在使用時,程式呼叫遇到了既加星號,也有不加星號的方式,因此有點疑惑。 先上例項,再作分析 #include <stdio.h> void myfun(void); int main(void) { void (*pf)(void); p

ubuntu下C語言函式傳參

在進行C語言程式設計時,有時候需要使用命令列傳參,下面對其進行一個分析。 int main(int argc,const char * agrgv[])   int argc 命令列引數個數(包含檔名)   const char* argv[] 指標陣列:將命

c語言函式呼叫模型

對於記憶體四區不懂得戳這裡 記憶體講解 這篇文章需要知道記憶體四區的知識 首先分級呼叫函式 使需要的資料入棧 然後逐級出棧,返回數值,將棧區的記憶體進行釋放    在main函式執行完之前 fa fb 都可以呼叫ma

[轉]在C#中呼叫C語言函式(靜態呼叫Native DLL,Windows & Microsoft.Net平臺)

原文:https://blog.csdn.net/yapingxin/article/details/7288325   對於不太瞭解.Net的人,如果想要了解.Net,我必須給他介紹P/Invoke。P/Invoke是什麼呢?簡單地說,就是在.Net中呼叫原生代碼(Native code)的一

C語言函式傳遞指標引數

  #include <stdio.h> void swap(int *a,int *b) { printf("address in swap():%p %p\n",a,b); int temp=*a; *a=*b; *b=temp; } i

C語言函式篇(二)形參和實參

參引數:形參和實參 ------------------------------- 形參實現一種資料傳入的介面 ,由實參 拷貝 給 形參 拷貝!!!!!!!!!!! 拷貝1: void func(int tmp

C語言函式篇(四)函式的設計

1. 函式設計的時候,如果使用到全域性變數,就儘量通過引數的形式傳遞進來     也就是說,保持 函式 跟 外部的互動 只有 引數 和 返回值   2. 在有引數的情況下,或者有數值輸入的時候,要先進行錯誤判斷. int func( int *buf){   //1.錯誤判斷 i

C語言函式篇(五)靜態庫和動態庫的建立和使用

使用庫函式是原始碼的一種保護?我猜的. 庫函式其實不是新鮮的東西,我們一直都在用,比如C庫. 我們執行pringf() 這個函式的時候,就是呼叫C庫的函式.   下面記錄靜態庫和動態庫的生成和使用.   靜態庫:libxxx.a 動態庫:libxxx.so  

C語言 函式與指標

void change(int* pa) { (*pa)++; //因為傳遞的是age的地址,因此pa指向記憶體資料age。當在函式中對指標pa解地址時, //會直接去記憶體中找到age這個資料,然後把它增1。 } int main(void) {

C語言---函式

一.函式初探 1.函式:是完成特定任務的獨立程式程式碼;語法規則定義了函式的結構和使用方式。 2.使用函式的原因:可以省去編寫重複程式碼的苦悶;可以讓程式更加模組化,提高程式碼可讀性;方便後期修改、完善。 3.種類: (1).內建函式:由C語言系統提供;

結構體的指標和C語言函式傳參

資料結構的基礎,是函式的傳遞和結構體的應用。 首先從函式傳參做起筆記,c語言函式傳參的本質都是傳值。我的大學教材上舉例為傳值和傳地址; 我借用百度上的一些回答作為引用: (1)傳值,就是把你的變

軟體素材---C語言函式不確定個數的入參的處理

1 :  #用來把引數轉換成字串 #define P(A) printf("%s:%d\n",#A,A);int main(int argc, char **argv) {         int a = 1,