自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stranger_R的博客

一个技术小菜鸟的技术仓库

  • 博客(15)
  • 收藏
  • 关注

原创 TinyHttpd详解

TinyHttpd介绍 一个轻量级的C语言HTTP服务端程序,500多行代码实现,具有清晰的结构,是一个良好的服务端入门程序。源码及注释/* J. David's webserver *//* This is a simple webserver. * Created November 1999 by J. David Blackstone. * CSE 4344 (Ne...

2019-07-14 15:29:21 1142

转载 文件服务器实现思路

1、概述C/C++文件服务器主要是 FDFS (FastDFS)文件存储系统的一个文件代理。文件服务支持 HTTP 协议,支持上传,下载基本功能,支持秒传文件(如果文件曾经上传到服务器,服务会记录文件信息,不用再次上传),这些文件信息会记录在文件服务对应的数据库。文件服务器也有本地文件缓存,主要支持热点文件上传下载。每个文件上传前客户端需要计算其 Md5 值,文件 Md5 ...

2019-06-06 09:43:06 5008

转载 头文件与前向声明

以下内容转自:https://blog.csdn.net/zlwzlwzlw/article/details/8085280 C++编译是一件非常费时的事情,为了尽量的减少编译时间,必须更好的包含头文件。下面有几条很重要的教条,可以参考。(1) 在头文件中能用类前置声明代替头文件包含的就用前置声明。因为使用类前置声明,当引用的类发生改变时,当前文件不需要重新编译。...

2019-05-14 13:19:45 717

原创 Jsoncpp cmake安装教程及测试用例

简单的介绍JSON是一种轻量级的数据交换格式。它可以表示数字、字符串、有序的值序列和名称/值对的集合。JsonCpp是一个c++库,允许对JSON值进行操作,包括对字符串进行序列化和反序列化。它还可以在非序列化/序列化步骤中保存现有的注释,使其成为存储用户输入文件的一种方便的格式。下载github 地址:https://github.com/open-source-parsers/...

2019-03-24 11:12:25 1713 1

转载 如何减少换页错误?

如何减少换页错误?()1,进程倾向于占用CPU2,访问局部性(localilty of reference)满足进程要求3,进程倾向于占用I/O4,使用基于最短剩余时间(shortest remaining time)的调度机制5,减少页大小换页错误:Page Fault,其实应该翻译成缺页异常或缺页中断,并非是错误,而是存在虚拟内存情况下的内存未命中,是非常常见的现象。...

2019-03-14 20:28:46 577

转载 后端开发必备

原文链接:https://www.nowcoder.com/discuss/61958一、计算机网络基础部分 TCP 报头格式 UDP 报头格式 TCP/UDP 区别(不仅是宏观上的,还要了解各自的机制) HTTP 状态码(熟悉使用场景,比如在缓存命中时使用哪个) HTTP 协议(一些报头字段的作用,如cace-contr...

2019-03-13 09:42:36 292

原创 八大排序之选择排序

何为选择排序每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。每次扫描找到最小,到扫描到末尾,将本次扫描的最小放到左边注意与冒泡排序相比较,冒泡排序相邻两个比较,每次比较都可能发生交换,而选择只是每轮中选择最小的元...

2019-03-11 21:55:48 154

原创 有趣的一道笔试题

昨天笔试遇见一道没见过的题,但感到很有意思,由于笔试期间不能编码调试,今天看了下运行状况,一下是题:给了两个int变量 a、b 具体值不记得了,让你求printf("%d\n", (a=a*a,a*b,c));的输出结果以下是我的测试代码#include <stdio.h>int main(){ int a = 3; int b...

2019-03-10 15:37:59 364

原创 IPC-进程间通信

进程间通信的方式的方式有:管道、消息队列、信号量、共享内存、socket。管道管道是半双工(数据可以在一个信号载体的两个方向上传输,但是不能同时传输)的,其中又分为匿名管道、命名管道两种,其中匿名管道只能用于具有亲缘关系的进程间通信,命名管道无这种限制。消息队列消息队列的本质其实是一个内核提供的链表,内核基于这个链表,实现了一个数据结构,并且通过维护这个数据结构来维护这个消息队列。...

2019-03-10 15:17:07 142

原创 线程和进程辨析

目录概念进程的特征线程的特征线程与线程、进程间的关系linux和win下进程栈空间大小线程切换及栈空间的位置进程简说线程管理线程间共享资源与独享资源概念 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进...

2019-03-10 14:32:23 136

原创 重回CSDN

时隔一年,准备让CSDN记录自己的成长轨迹,将自己之前在某道云的知识进行梳理,整理到CSDN中,为回归纪念一下!加油吧,小菜鸟,请开始你的进化之路!...

2019-03-08 20:05:32 111

原创 八大排序之快速排序

简述    快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),一种排序算法,最早由东尼·霍尔提出。    快速排序使用分治法(Divide and conquer)策略来把一个序列 (list)分为两个子序列(sub-lists)。基本思路    在数列中选择一个数为“基准”;    将比“基准”小的数放在前边,比“基准”大的数放在后边,这样...

2018-03-23 17:31:29 248

原创 链表初识

链表    链表(Linked list)是一种常见的基础数据结构,是一种线性表,但它是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。优点链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 使用链表结构可以克服数组链表需要预先知道数据大小...

2018-03-22 14:53:49 222

原创 数据结构实现(一)顺序表的实现(C)

顺序表介绍顺序表前先来了解一下顺序结构:将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构。而采用顺序存储结构的线性表简称为“ 顺序表”。     顺序表的基本操作:创建顺序表,初始化顺序表,数据元素的插入,删除某个数据元素,遍历顺序表,顺序表的存储特点逻辑上相邻的元素,物理上也相邻若已知表中首元素在存储器中的位置,则其他元素存放位置亦可通过公式得到:LOC(ai)=LOC(a...

2018-03-20 14:44:08 427

原创 线性表概述

线性表(linear_list)线性表是最常用且最简单的一种数据结构,一个线性表是n个数据元素的有限序列。至于数据元素的具体含义,在不同的情况下各不相同,它可以是一个数或一个符号,也可以是一页书,或者其他更复杂的信息。在一些稍复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数据元素称为记录,而含有大量记录的线性表又称为文件。线性表中的个数n定义为线性表的长度,n=0时称为空表...

2018-03-17 11:39:41 303

空空如也

空空如也

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

TA关注的人

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