十年老程序员分享的在linux下C开发几点技术小总结(linux c程序开发)

下面是我最近总结的一点点东西而已,以后还会更多

1、.时间

Linux系统在时间上有比较多的东西。在游戏里,时间是一个非常重要的一个变量,涉及到前后端时间同步,游戏业务的倒计时,心跳等等的一系列功能点

等等,如果能够灵活运用时间这个变量,最起码你要知道如下几个函数或者变量

time_t这个变量其实是一个long型,表示的是从一个时间点(一般是1970年1月1日0时0分0秒)到那时的秒数。对,指标是秒数。

在time.h文件中还有一些其他以其为参数的函数

在time.h头文件中,我们还可以看到一些函数,它们都是以time_t为参数类型或返回值类型的函数:

十年老程序员分享的在linux下C开发几点技术小总结(linux c程序开发)

给一个小例子

十年老程序员分享的在linux下C开发几点技术小总结(linux c程序开发)

下面为了更加精确

下面两个类型也会经常使用到

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]来交换。

3、数组与指针

这个话题是C语言的永久的话题。就目前我常用的一级二级指针,还不是非常的困难。通过取具体数据内存的地址,来进行对数据的操作。

数组和指针之间的互相转换,等问题

目前尤其是要注意的是三个函数

十年老程序员分享的在linux下C开发几点技术小总结(linux c程序开发)

在第三个三参数sizeof的时候一定要注意其数据块的大小,和数据起始位置

警告

在使用指针之前一定要记得确保指针为非空。

使用数组前,一定要注意数组越界行为。

4、巧妙使用回调函数

当我们系统需要调用同一类型的函数时候,就最好使用回调函数,进行注册,然后根据命令关联的函数,进行具体调用,类似于c 多态行为。非常值得使用。

5、算法算法还是算法。

平时写代码,要多思考,多动脑觉得这样写好不好,使用具体算法会不会更好,会不会提高效率,省空间等等。

6、后台程序记住,数据库是瓶颈,所以和数据库打交到的时候,要使用异步思想,把数据丢给数据库,程序该干嘛干嘛,

知道是否成功,就是必须要确保一定会回来一个数据标记,告诉我们程序。

=======================================================

注:需要C/C Linux服务器开发学习资料私信“资料”(资料包括C/C ,Linux,golang技术,Nginx,ZeroMQ,MySQLRedis,fastdfs,MongoDBZK流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等),免费分享

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月25日 上午9:37
下一篇 2023年4月25日 上午9:47

相关推荐

  • 黄鹤楼卷烟新材料科研生产项目(一期)工程设计采购施工总承包

    从中国电力招标网(www.dlzb.com)了解到黄鹤楼卷烟新材料科研生产项目(一期)工程设计采购施工总承包招标正在进行,详情请看下文: 黄鹤楼卷烟新材料科研生产项目(一期)工程设…

    科研百科 2024年6月24日
    44
  • 科研项目现有工作基础和条件

    科研项目现有工作基础和条件 随着科技的不断发展,科研项目也在不断推进。然而,要想成功推进科研项目,必须具备一定的工作基础和条件。下面,我们将详细介绍一下科研项目现有工作基础和条件。…

    科研百科 2024年11月10日
    4
  • 2022年滁州高新技术企业认定条件及申报流程(2022年滁州高新技术企业认定条件及申报流程图)

    了解了高新技术且认定的奖补政策,很多人对于滁州市最新高企认定,也就是2022年滁州市高企认定流程很感兴趣,下面小编就带大家三分钟了解滁州市高企认定的条件以及相关流程。有不清楚的随时…

    科研百科 2022年11月8日
    234
  • 1+6+14!北京经开区21个项目上榜北京科技奖公示名单(北京经开区科技创新局)

    北京经开区获北京市科学技术奖数量有望创新高!近日,北京市科学技术委员会、中关村科技园区管理委员会对2021年度北京市科学技术奖评审委员会评审结果进行公示,其中,24家北京经开区单位…

    科研百科 2022年10月27日
    257
  • 低代码 java

    低代码开发平台是近年来快速崛起的一种软件开发工具,它通过提供可视化的界面和简化的编程语言,使得开发人员能够更快速地构建应用程序。而Java作为一种广泛应用于企业级开发的编程语言,也…

    科研百科 2024年2月22日
    75
  • 党建活动室装修方案

    党建活动室装修方案 党建活动室是中国共产党党员进行学习、交流、宣传和团结群众的重要场所。为了更好地发挥这一场所的作用,需要对其进行合理的装修和布置。本文将介绍一种党建活动室的装修方…

    科研百科 5天前
    0
  • 原创视频收益平台

    原创视频收益平台: 为创作者带来收益,让视频更有趣 近年来,随着互联网的普及,视频创作已经成为了一种非常受欢迎的创作方式。越来越多的人开始通过制作和分享原创视频来表达自己的创意和才…

    科研百科 2024年10月14日
    6
  • 信息系统项目管理师的考试时间

    信息系统项目管理师考试时间即将来袭! 随着信息技术的不断发展,信息系统项目管理师的考试也在不断增加。作为信息技术领域的重要职业之一,信息系统项目管理师负责规划和实施信息系统项目,确…

    科研百科 2024年8月13日
    35
  • 纺织管理软件(纺织管理软件免费版)

    【Access快速开发平台源码作品】纺织管理软件(半成品软件)。 一位Access网友在微信课堂学习《Access快速开发一日通报销管理系统》教程,根据学习的知识点结合自己单位的管…

    科研百科 2022年12月19日
    417
  • 项目进度管理常用方法

    项目进度管理是项目管理中非常重要的一环,正确的项目进度管理可以帮助项目团队更好地掌控项目进度,提高项目的效率和质量。本文将介绍一些常用的项目进度管理方法。 一、制定项目计划 制定项…

    科研百科 2024年8月21日
    19