设为首页 加入收藏

TOP

Linux下C开发中几点技术小总结
2014-11-24 07:37:46 来源: 作者: 【 】 浏览:0
Tags: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 timeva l *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]来交换。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇利用mincemeat编写简单的MapReduc.. 下一篇C#中HashTable的用法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)