自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 求二叉树中最远的两个节点的距离

#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include using namespace std; struct BinaryTreeNode { BinaryTreeNode* _left; BinaryTreeNode* _right; int data; }; class BinaryTree { public:

2016-08-28 16:54:56 745

原创 两个节点的最近公共节点

二叉树中 找两个结点的最近的公共祖先结点#pragma once #include using namespace std; struct Node { Node * left; Node * right; int value; Node( int v )

2016-08-22 21:20:01 678

原创 利用http协议实现小型Web服务器

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HT

2016-08-21 09:30:09 3284 2

原创 epoll 实现I/O复用

epoll是Linux特有的I/O复用函数,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率;并且epoll使用一组函数来完成任务,而不是单个函数,它无须遍历整个被侦听的描述符集,只要遍历那些内核I/O时间异步唤醒而加入ready队列的描述符集合即可。但epoll需要使用一个额外的文件描述符,来唯一标识内核中的这个事件表。 1、这个文件描述符使用epoll_create

2016-08-15 00:39:34 480

原创 poll实现I/O多路复用

poll函数原型 参数说明: fds:是一个struct pollfd结构类型的数组,用于存放需要检测其状态的Socket描述符;每当调用这个函数之后,系统不会清空这个数组,操作起来比较方便;特别是对于socket连接比较多的情况下,在一定程度上可以提高处理的效率;这一点与select()函数不同,调用select()函数之后,select()函数会清空它所检测的socke

2016-08-12 13:47:38 512

原创 程序运行 栈帧分析

下面程序,在主函数中未调用,但程序会重启 p是形参a的地址 p--后p是fun1函数运行完后调用的下一条指令的地址, 这里用*p=fun把下一条指令的地址修改成了函数fun的地址, 自然fun1运行完后就进入了fun函数的执行 压栈是a先压栈,b后压栈,压栈时栈顶向低地址的方向前进,变量a在变量b的上面

2016-08-09 10:51:06 286

原创 seclect函数

select函数 select函数主要是用来实现多路复用输入和输出模型,select系统调用是用来让我们监视多个文件句柄的状态变化的。程序会停在select处等待,直到被监视的文件句柄有一个或多个发生了状态。 select函数: int select(int nfds,fd_set *readfds,fd_set writefds,fd_set  * exceptfds,

2016-08-09 01:18:30 1412

原创 大数运算

大数运算的实现 主要功能:项目解决了巨大整数的计算问题。 实现方式:通过对输入输出和基本运算符的重载,实现大整数的运算功能。 使用技术及环境:VS2013 ,C++,运算符重载。#define _CRT_SECURE_NO_WARNINGS 1 #include "BigData.h" #include<iostream> using namespace std; void FunTest()

2016-08-02 13:05:35 565

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-08-02 12:52:55 181

原创 Linux进程管理---task_struct结构体

进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单元。 进程控制块就是task_struct结构体。 task_struct是Linux内核的一种数据结构,每个进程都把它的信息放在task_struct这个数据结构里,task_struct包含了这些内容: 标识符:描述本进程的唯一标识符,用来区别其他进程。 状态:任务状态,退出代码,退出信号等。 优先级:相对于其他进程的优先

2016-08-02 10:36:45 348

空空如也

空空如也

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

TA关注的人

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