自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 C语言模拟C++对函数和变量的封装

C++的方法和成员变量都是放在类里面的,通过类的实例化来访问其中的方法和成员,C++甚至还引入了命名空间,通过命名空间访问类,再实例化类。C语言也可以模拟C++的对类的封装,通过编码规范来实现,或者说,定了一套编码框架,按照这个框架来做,就可以实现封装。先来看下面一段C代码。/*mathOpr.c*/#include<stdio.h>int add(int data1, int data2){ return data1 + data2;}int sub(int data1,

2021-05-09 23:19:39 654

原创 关于socket相关的inet_ntoa函数出现core的问题

当时是在linux 系统下跑网络服务,用的编程语言是C,在多线程条件下,只有单个线程用到inet_ntoa函数,在这里还是出现coreDump了,网络上的其他人说,在32位中没问题,在64位中加上头文件<apra/inet.h>就解决了,而我本身就有这个头文件,问题还是没有解决,我只能重写该函数了,代码如下:char *inet_ntoa2(struct in_addr uAddr)...

2020-05-06 23:27:08 287

原创 高性能方案设计--异步和缓冲

1. 前言高性能设计常用的3种方法,并行并发、异步和缓冲。前面说了并行并发,这里说异步和缓冲,本来打算把异步和缓冲分开的,但是,用到异步的地方,常常需要缓冲,或者说,用缓冲是为了实现异步,所以才把这两个放一块。...

2020-05-02 17:04:29 545

原创 关于软件架构组织的一些想法

关于服务器服务器至少要3个环境,开发环境、测试环境、准生产环境,个人建议的是要4个环境,除了这3个,还要加个性能测试环境。应用服务器要分开到不同的主机,也可以是虚拟机,数据库服务器可以在同一台主机。平时我们先在开发环境写代码,等自己在开发环境上测试完成,再上传到测试环境,等测试人员测试完成,上传到性能测试环境,如果性能也达标并且没有问题,上传到准生产环境进行回归测试。代码的流向 开发环境...

2020-04-27 09:49:33 210

原创 高性能方案设计--并行并发

概念并行和并发的概念,网上也有很多解释,我从任务的角度来说一下我的理解。一个任务,包含多个流程,比如写数据到文件当作一个任务,则其包括的流程是,打开文件、写入数据、关闭文件,对应的C语言函数是,fopen, fwrite, fclose 这些。并行,如果这个任务的所有流程都可以同时执行,就称为并行,而这个任务就是可并行。当然,写数据到文件这个任务,3个流程不可以同时执行。举个更通俗的例子...

2020-04-25 23:52:09 360

原创 完全不同的随机数生成

前言之前研究红黑树,也就是索引相关的操作,写好了对索引数据的增删改查功能。为了测试算法的正确性和稳定性,选择了测试唯一索引,因为集合索引只造成数据的重复,并且向程序插入512M(约5亿)个唯一的数据,生成这么多的数据,如果是递增或者递减的,这种数据很好生成,但要生成随机的数据,并且互不相等,就需要花点时间来研究算法。我用的是C语言来实现的,所以,相关描述也是针对C语言的实现方案1. 用ra...

2020-04-19 17:16:01 675

原创 方案设计之大小概率

一个程序,往往要处理很多种操作,通常,程序要将这些所有的情况都是对等处理,就很花时间,甚至是不可能。比如对数据库的增删改查,提高插入数据的速度,必然会影响到修改和查询的速度,而提高查询的速度,也必然会影响到插入数据的速度,要做到全部操作的速度都提高,是不可能的。大小概率,就是将程序的操作,根据使用概率来分等级,使用概率大的优先级更高,使用概率低的优先级更低。需求1:TCP/IP服务端,根据连接到...

2020-04-13 21:02:32 634

原创 本机UDP收发性能测试

测试内容测试单机版的UPD客户端和服务端之间的性能,UDP客户端发送数据到UDP服务端,并等待服务端返回,计算出UDP的性能测试方法客户端和服务端部署在同一台虚拟机器上,客户端启动多个线程,同时向服务端发送指定数量的数据,服务端返回同样的数据,客户端同步等待服务端返回后才发送下个数据。为了性能最大化,测试过程中,客户端打印的日志都指向/dev/null,而服务端就通过信号来触发打印当...

2020-04-11 14:25:47 3331

原创 基于epoll方法的多线程业务处理

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-03-31 23:37:48 1245

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除