自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

征服

我是键盘和鼠标的奴隶

  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 翻格子游戏

前几天,朋友玩一个解谜类的游戏。中间有一个关卡,大概是这样的:有一个5*5的板子,初始时,每个格子都是背面朝上。我们可以手动翻转任意一个格子,但其上下左右——如果有的话——的格子也会随之一起翻转,问怎么翻,可以将所有格子都翻到正面朝上。当时蛮无聊,那就写段代码试试看吧。这里,手动翻我们定义为主动,而被动当然就很清楚了。不难想到,对任意一个格子来说,我们主动翻N次和N+2次的

2014-01-14 16:30:00 3845

原创 人艰不拆——记在工作一个半月之后

写在前面的话本来年初申请了独立部落格的,也更了几篇文章。无奈,域名需要备案balabala,想想都觉得麻烦,干脆就弃掉,又重新回到了这里。---------------------------------------------------------------------------------------------掐指一算,工作已经有一个多月啦。可再想想,发现这段时间也没做什么

2013-08-14 00:20:49 1392

原创 Linux tun/tap驱动

tun/tap是纯软件实现的一套虚拟网络设备。tap表示虚拟以太网设备,工作在二层网络上,具有直接处理以太帧的能力。tun表示虚拟点对点设备,工作在三层网络上,具有处理IP包的能力。其实现原理相对简单。它在内核空间添加一个杂项设备(msicdevice)/dev/net/tun,实质上就是一个主设备号为10的字符设备,作为用户空间与内核空间信息交互的接口。tun/tap驱动程序包括两个部分,一

2012-12-13 13:23:58 7821

原创 学习使用libevent(一)

PRE——写在前面的话最近在学习libevent,希望可以好好整理一下~计划是这样,先简单总结一下怎么使用它,然后开始分析源代码。其实,目前网上已经有不少相关资料,比如说,官网(http://libevent.org/)为我们提供的Documentation,还有http://cpp.ezbty.org/的《libevent源码深度剖析系列》,这里再总结一下,也算是对自己的提高吧。

2012-12-08 21:39:32 5365 1

转载 gvim与插件的安装(ctag、taglist、cscope等)

原文出处:http://luckybins.blog.51cto.com/786164/681325=======================================================gvim使用户能够在Windows环境下,能够像利用Linux的vim工具进行文本编辑,特别是程序编写,并且,很多插件都可用。但是,毕竟Windows环境不同于Lin

2012-12-08 20:19:04 4135

原创 【杭电1050】Moving Tables

题目描述直达:点击打开链接题目看似不难,用贪心的思想就可以完成。但有若干小陷阱。1、输入数据可能会存在s大于t的情形。2、 要分两组完成,而 只需要一组。这些,起初就想到了,先看我的思路吧。大致是这样的,首先需要为房间号x做一个(x+1)/2的映射,创建一个标记数组flag[200][201],第一维表示组号,第二维表示对应的过道占用情形,举个简单例子,flag[0][3]=1

2012-11-22 10:34:06 1273

转载 strlen与sizeof的区别

1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char *做参数,且必须是以'\0'结尾的。4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。5.大部分编译程序

2012-09-15 20:39:21 432

原创 原来是这个样子的!

#include #include int main(){ int a[3][7]; int *b = &a[0][0], i; for (i = 0; i < 21; i++) { b[i] = i; } printf("%d\n", a[1][8]); return 0;}理解误区:这里,a[1][8],8超过了第

2012-09-14 16:00:21 545

原创 ping某域名的整个流程

【声明】根据网上检索到的资料,自己整理了一下。  - 首先本机发送域名请求数据到PC设置的DNS ip- PC通过子网掩码判断DNS ip是本网段还是跨网段(这里只考虑跨网段)- 由于是跨网段,PC发送DNS域名解析数据包到PC设置的网关ip上。(此时先要进行二层的mac转发,PC查看本机arp缓存表,如果表中有网关的mac地址,直接转发,如果没有,使用arp解析协议解析到网关

2012-09-13 16:54:29 4671 1

原创 面试被鄙视!

仅用一行shell命令实现功能:删除当前目录下size最大的那个文件。rm -f `ls -S |awk "NR==1"`或rm -f `ls -S1 |head -n1`或......给跪,这应该是搞运维的同志们才会这么用吧。但是,就这么rm了却不知道是哪个,难道不心虚么么么么么么,毕竟眼见为实嘛

2012-09-12 15:53:45 965

原创 Netperf性能测试工具

Netperf是一款开源的网络性能测试工具,主要针对TCP和UDP传输进行测试。它有4种工作模式:TCP_STREAM、TCP_RR、UDP_STREAM、UDP_RR。后续将会对每个工作模式进行详细说明。关于Linux系统下如何安装,这里不作说明,网上资料有很多很多。有没有Windows版本的Netperf呢?当然有的,需要下载的话,请戳这里:NetPerf-2.4.5-w32.zip。【请

2012-07-12 16:31:23 24590 3

原创 单链表倒置算法

先上代码。void reverse(list *head){ list *p, *tmp; p = head->next;  //p指向当前正在处理的节点 tmp = p->next;  //tmp指向尚未被处理的第一个节点 p->next = NULL;  //原单链表第一个节点将成为倒置后最后一个节点 head->next

2012-07-12 16:19:56 18606 3

原创 KMP算法源码备份

【DEV-C工程】什么都不说,直接上代码。#include #include char str_a[22] = "abcabcddacdabcdbabadac";char str_b[7] = "abcdbab"; int next[7] = {-1}; void Next(char *str, int len){ int i, k; nex

2012-07-12 16:14:57 585

原创 How to fix "Case folding collision" in Mercurial

首先,说明一下,什么是Case folding collision。在Windows系统中,文件名大小写是不敏感的。比如说,在同一个目录下,abc.txt和Abc.txt被认为是同名的。而在Linux系统中,文件名大小写是敏感的。也就是说abc.txt和Abc.txt根本就是两个不同的文件!这样,问题就来了。当你在Linux系统中,将这样的两个文件push,然后试图在Windows

2012-07-12 14:20:22 754

原创 关于位域的一点总结

位域(Bit-field),又叫位段(位字段),是一种特殊的结构成员或联合成员(也就是说,只能出现在结构体或联合体中),用来指定该成员在内存中所占的bit数。比如struct st { unsigned a:5; unsigned b:4;};那么,位域究竟在哪里会被用到呢?1. 不难设想这样一种情形。当使用位域时,可以节省大量内存空间,同时高效地实现相应功能。

2012-07-12 14:18:39 560

你必须知道的495个C语言问题

《你必须知道的495个C语言问题》。帮你澄清C语言各种疑惑。

2012-09-15

2009年上半年软件设计师考试试题及答案

上午下午的题目都有.试题可以参考下,答案仅供参考.

2010-05-20

空空如也

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

TA关注的人

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