歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux下C開發中幾點技術小總結

Linux下C開發中幾點技術小總結

日期:2017/3/1 9:58:40   编辑:Linux編程

1、.時間

Linux系統在時間上有比較多的東西。在游戲裡,時間是一個非常重要的一個變量,涉及到前後端時間同步,游戲業務的倒計時,心跳等等的一系列功能點等等,如果能夠靈活運用時間這個變量,最起碼你要知道如下幾個函數或者變量

time_t

這個變量其實是一個long型,表示的是從一個時間點(一般是1970年1月1日0時0分0秒)到那時的秒數。對,指標是秒數。

在time.h文件中還有一些其他以其為參數的函數

在time.h頭文件中,我們還可以看到一些函數,它們都是以time_t為參數類型或返回值類型的函數:

double difftime(time_t time1, time_t time0);
time_t mktime(struct tm * timeptr);
time_t time(time_t * timer);
char * asctime(const struct tm * timeptr);
char * ctime(const time_t *timer);

下面為了更加精確

下面兩個類型也會經常使用到

struct timeval *a_pstTv, struct timezone *a_pstTz

當我們調用

gettimeofday(&pstCtx->stCurr, NULL);

獲取到當前的時間

2、隨機數

隨機數在程序裡也是經常使用,隨機出來一個數,使一些事情看起來很有隨機性。

C語言目前提供的是rand函數。那我們如何使用呢,看如下宏

#define RAND1(range) ((int)((double)(range)*rand()/(RAND_MAX+1.0)))

這個宏隨機出了0到 rang-1中間的一個數。但我們想使用一個他來打亂我們的一個數組的順序的時候,我們可以隨機出它的下標,然後用來與某個具體的

元素比如,array[0]來交換。

Copyright © Linux教程網 All Rights Reserved