自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (4)
  • 收藏
  • 关注

原创 VPP 学习资料汇总

vpp官方资料:https://fd.io/vpp https://wiki.fd.io/view/VPP/Command-line_Argumentshttps://wiki.fd.io/view/VPP/Build,_install,_and_test_imageshttps://wiki.fd.io/view/VPP/Using_VPP_In_A_Multi-thread

2016-12-26 12:10:25 9503 1

原创 VPP 源码解析 宏 VLIB_NODE_FUNCTION_MULTIARCH

csico vpp 代码分析

2016-11-28 15:52:23 2166

原创 xshell 3.0中文乱码最终的解决方案

在使用linux的终端工具SecureCRT或者是Xshell的时候,每次提交SVN想输入中文日志的时候总是输不了中文。或者提示svn: Can't convert string from 'UTF-8' to native encoding  (解决的办法也是export LANG="zh_CN.UTF-8")svn ci -m "" 这时候两个引号之间就是没有办法输入中文。后来

2013-08-05 13:58:52 1508

原创 sync、fsync、fdatasync、fflush函数

传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘 I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满 或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写 (delayed write)(Ba

2012-07-05 19:35:26 3588

原创 Linux 内存

# cat /var/log/messagesOut of memory: Killed process xxxxx, UID xx, (httpd).httpd invoked oom-killer:klogd invoked oom-killerOOM(Out Of Memory,内存不足)如果某个程序发生了内存泄漏,那么一般情况下系统就会试用OOM机制将其进程Kill

2012-06-29 14:57:08 2550

原创 BM算法之二

首先,先简单说明一下有关BM算法的一些基本概念。  BM算法是一种精确字符串匹配算法(区别于模糊匹配)。  BM算法采用从右向左比较 的方法,同时应用到了两种启发式规则,即坏字符规则 和好后缀规则,来决定向右跳跃的距离。  BM算法的基本流程: 设文本串T,模式串为P。首先将T与P进行左对齐,然后进行从右向左比较 ,如下图所示:       若是某趟比较不匹配时,B

2012-04-20 17:09:30 547

原创 pthread_mutex_init

头文件:#include   函数原型: int pthread_mutex_init(pthread_mutex_t *restrict mutex,const pthread_mutexattr_t *restrict attr);  pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;  该函数用于C函数的多线程编程中,

2012-04-19 15:26:47 1262

原创 fedora syslog系统日志

系统日志也就是记录系统活动信息的文件日志文件在 /var/log下,该目录下不仅保存系统日志,还有其他服务的日志记录。执行命令dmesg 可以查看系统启动时的信息执行命令lastlog 查看系统用户最后登录信息文件 secure 中记录用户登录主机的信息文件 messages 记录大量的系统信息,包括系统的各种日常活动和服务的信息,也包括系统出现的错误信息文件 wtmp

2012-04-12 14:09:31 5158

转载 用C语言实现PHP的basename函数

#include #include #include /***********************************Author : DemonWebsite : http://demon.twE-mail : 380401911@qq.com***********************************//* {{{ php_basename */v

2012-04-11 19:59:29 1308

原创 Libxml/tree.h:No such file or directory错误

1、在Xcode菜单 Project->Edit Project Settings的Build标签,搜索Header Search Path,添加/usr/include/libxml2即可。2、在linux里编译时,应该指定-I选项到你安装libxml2的include目录下的libxml2的目录中。      如我的是安装在/usr/local/目录下,我编译时-I/usr

2012-04-11 10:15:52 6449

原创 syslog(),openlog(),closelog()

这里面的三个函数openlog, syslog, closelog是一套系统日志写入接口。另外那个vsyslog和syslog功能一样,只是参数格式不同。     原理:通常,syslog守护进程读取三种格式的记录消息。此守护进程在启动时读一个配置文件。一般来说,其文件名为/etc/syslog.conf(注释:if you want to redirect log to other pl

2012-04-09 18:58:51 1646

原创 pcap文件格式

Libpcap已经成为Linux,Unix平台上网络数据捕获的一个事实上的标准。所以,掌握Libpcap文件的格式也非常重要。这里用version2.4来说明(实际上,这个文件格式自从Libpcap的0.4版本,既是1998年来就没有改变过)。Libpcap文件用.pcap作为后缀。从上图可以看出来,每个Libpcap文件都有一个全局的头(Global header),然后跟着是N(N>=

2012-04-06 15:38:21 2043

原创 模式匹配之路

之前我的文章中,介绍了KMP,BM,AC,WM等几个经典的模式匹配算法,本文我将对常用的模式匹配算法做一小结。模式匹配算法的关系图如下所示:这里有几个我的文章中暂时没有涵盖的算法,这里做一简要说明。Rabin-Karp算法,这是一个基于散列值的模式匹配算法,根据散列算法,将长度为m的模式串计算一个散列值,然后对于目标串中各长度为m的子串分别计算散列值,与模式串的散列结果

2012-04-01 17:49:19 719

原创 BM算法详解

1977年,Robert S.Boyer和J Strother Moore提出了另一种在O(n)时间复杂度内,完成字符串匹配的算法,其在绝大多数场合的性能表现,比KMP算法还要出色,下面我们就来详细了解一下这一出色的单模式匹配算法,在此之前推荐读者读一下我的另一篇文章《KMP算法详解》,对于透彻理解BM算法大有裨益。在讲解Boyer-Moore算法之前,我们还是要提一提KMP算法的老例子,

2012-04-01 17:48:12 2106 1

原创 WM算法详解

提到多模式匹配算法,就得说一下Wu-Manber算法,其在多模式匹配领域相较于Aho-Corasick算法,就好象在单模式匹配算法中BM算法相较于KMP算法一样,在绝大多数场合,Wu-Manber算法的匹配效率要好于Aho-Corasick算法。这个算法是由吴升(台湾)和他的导师Udi Manber在九十年代提出。当然,要想充分理解WM算法如何加快多模式匹配的效率,还需要对BM算法的深刻了解,可以

2012-04-01 17:47:00 970

原创 AC算法详解

AC算法是Alfred V.Aho(《编译原理》(龙书)的作者),和Margaret J.Corasick于1974年提出(与KMP算法同年)的一个经典的多模式匹配算法,可以保证对于给定的长度为n的文本,和模式集合P{p1,p2,...pm},在O(n)时间复杂度内,找到文本中的所有目标模式,而与模式集合的规模m无关。正如KMP算法在单模式匹配方面的突出贡献一样,AC算法对于多模式匹配算法后续的发

2012-04-01 17:41:26 3585

原创 KMP算法详解

KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。但是相较于其他模式匹配算法,该算法晦涩难懂,第一次接触该算法的读者往往会看得一头雾水,主要原因是KMP算法在构造跳转表next过程中进行了多个层面的优化和抽象,使得KMP算法进行模式匹配的原理显得不那么直白。本文希望能够

2012-04-01 17:38:02 554

原创 windows创建扩展分区

解决方法如下:单击“开始”菜单,从附件中找到“命令提示符”,右击选择“以管理员身份运行”打开命令提示符窗口,输入“diskpart”命令,进入DISKPART状态,然后按照下面步骤进行操作:1  选择物理磁盘输入“select disk N”选择物理磁盘,这里的“N”代表第几块物理硬盘。假如你要对第一块物理硬盘进行操作,应输入“select disk 0”,以此类推。2

2012-03-25 11:59:03 1364

原创 单链表逆序

设链表节点为 typedef struct tagListNode{     int data;      struct tagListNode* next; }ListNode, *List;要求将一带链表头List head的单向链表逆序。分析:  1). 若链表为空或只有一个元素,则直接返回;  2). 设置两个前后相邻的指针p,q. 将p所指向的节点作为q指

2012-03-16 21:41:53 337

原创 让层(div)覆盖在flash之上

原理很简单,就是做一个div并让它定位于flash之上,然后再在div中增加所需的跳转链接.看看代码:                                          为了使z-index生效,要将容器定义为position:absolute;  必须为该容器设定背景,不然div无法覆盖在flash之

2012-01-10 10:22:42 638

原创 关于css中的position

对于position的几个属性:static :  无特殊定位,对象遵循HTML定位规则absolute :  将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。而其层叠通过z-index属性定义。此时对象不具有边距,但仍有补白和边框relative :  对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置

2012-01-10 10:17:43 793

原创 Google Analytics10条有用教程

几乎每个网站都会统计自身的浏览状况:日IP、PV、跳出率、转换率、浏览者属性等等。了解这些数据有助于更好地了解浏览者的属性、知道网站在什么地方存在缺陷,为更好地提供服务、提高网站收入都有所帮助。对于大多数网站而言,Google Analytics是最普遍选择的方案,因为Google Analytics提供了非常强大的功能,最重要的是,它是免费的,而且不会像某些统计网站那样,会要求网站主在网站上

2012-01-06 13:48:02 6003

原创 Google Analytics分析教程(第一部分)

也许你不满足cnzz,51yes网站统计数据,想更详细的了解你网站用户使用习惯,进而提高产品销售额或用户注册数量?也许你已经对Google Analytics分析久仰大名?也许你面对Google Analytics强大的功能无从下手?那么接下来,我将一点一点给你揭开Google Analytics神秘的面纱。请订阅PPC110.com,你将从PPC110.com这里变成真正的武林高手!

2012-01-06 13:44:05 1504

原创 Google Analytics在Flash cs3下的使用教程

最近使用到Google Analytics组件,这个组件在网上的资料很多,但是大部分都是详谈组件的优势的,具体的使用没有很详细的说明,这是Google的相关说明(http://code.google.com/intl/zh-CN/apis/analytics/docs/flashTrackingIntro.html),大家有兴趣可以去看一下,我这里做了一个教程,教大家一步一步的使用这个组件。

2012-01-06 13:15:46 970

原创 公网/内网IP分配及NAT地址转换协议

公网IP/内网IP:   在TCP/IP协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下:10.0.0.0/8:10.0.0.0~10.255.255.255172.16.0.0/12:172.16.0.0~172.31.255.255192.168.0.0/16:192.168.0.0~192.168.255.255    使用保留地址的网络只能在内部进行通信,

2011-12-02 17:55:28 2081

原创 浅谈快速排序算法

浅谈快速排序算法快速排序,正如它的名字所示,它是在实践中最快的已知排序算法,它的算法思想是从待排序记录序列中选取一个记录为枢纽元,其关键字设为K,然后将其余记录中关键字小于K的记录移到前面,而将关键字大于K的记录移到后面,结果将待排序记录分成两个部分(S1、S2),最后将关键子K的记录插入到其分界线位置,这个过程是一趟快速排序。通过一次划分后,就以关键字为K的记录为界,将待排序的序列分

2011-11-28 10:36:09 716

原创 new和malloc的区别和联系

1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行,而malloc没有这些信息。4、new 和 mallo

2011-11-28 09:39:33 379

原创 进程与线程的区别

线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行. 进程和线程都是由操作系统所体会的程序运行的基本单元,

2011-11-25 18:19:47 355

原创 __inline和宏定义

__inline关键字但使用KEIL4 ARM编译测试未过,验证了宏定义和内联函数的区别,自己总结宏定义和内联函数都不生成代码段,程序运行也没有参数压栈开销内联函数检查调用参数的合法性,也可以进行参数类型转换一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。  表达式形式的宏定义一例:

2011-11-23 10:21:02 534

原创 struct--iphdr -- IP头部

sk_buff->iphdr/usr/src/linux-2.6.19/include/linux/ip.hstruct iphdr {#if defined(__LITTLE_ENDIAN_BITFIELD)    __u8    ihl:4,            version:4;#elif defined (__BIG_ENDIAN_BITFIELD)

2011-11-21 12:28:55 551

原创 struct--tcphdr

sk_buff->tcphdr/usr/src/linux-2.6.19/include/linux/tcp.hstruct tcphdr {    __be16 source;    __be16 dest;    __be32 seq;    __be32 ack_seq;#if defined(__LITTLE_ENDIAN_BITFIELD)

2011-11-21 10:30:40 630

原创 linux进程调度方法(SCHED_OTHER,SCHED_FIFO,SCHED_RR)

linux内核的三种调度方法:1,SCHED_OTHER 分时调度策略,2,SCHED_FIFO实时调度策略,先到先服务3,SCHED_RR实时调度策略,时间片轮转 实时进程将得到优先调用,实时进程根据实时优先级决定调度权值,分时进程则通过nice和counter值决定权值,nice越小,counter越大,被调度的概率越大,也就是曾经使用了cpu最少的进程将会得到优先调度

2011-11-18 11:20:45 437

原创 c++空类实例大小不是0原因收藏

初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟就是我在学习编程过程中的一点经验,是编译器这方面的一个具体功能.首先:我们要知道什么是类的实例化,所谓类的实例化就是在内

2011-10-21 16:51:38 413

原创 linux下安装apache详解

下面是linux下安装apache的完整代码,系统是redhat5.5下载httpd-2.2.6.tar.bz2  把httpd-2.2.6.tar.bz2放到/soft 下[root@localhost ~]#cd /soft[root@localhost soft

2011-10-13 11:13:37 571

原创 gsoap开发webservice

gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多。绝大多数的C++web服务工具包提供一组API函数类库来处理特定的SOAP数据结构,这样就使得用户必须改变程序结构来适应相关的类库。与之相

2011-10-12 20:14:42 792

原创 gSOAP简单多线程服务器程序

一 gSOAP需要的头文件://gsoap ns service name: calc//gsoap ns service style: rpc//gsoap ns service encoding: encoded//gsoap ns service names

2011-10-12 19:49:07 3927 1

原创 gSOAP简单使用例子

一.系统环境linux操作系统kernel2.4.2,安装gsoap2.6到目录/usr/local/gsoap二.gSOAP的简要使用例子下面是一个简单的例子,实现一个加法运算的WebService,具体功能是cli端输入num1和num2,server端返回一个n

2011-10-12 19:48:00 3274 1

原创 用gSOAP开发Web+Service程序

gSOAP是一个绑定SOAP/XML到C/C++语言的工具,使用它可以简单快速地开发出SOAP/XML的服务器端和客户端。由于gSOAP具有相当不错的兼容性,通过gSOAP,我们就可以调用由Java, .Net, Delhpi, PHP等语言开发的SOAP服务,或者向它们提供SO

2011-10-12 15:33:35 931

原创 Linux重启网卡的方法

重启网卡的几种方法:一、network利用root帐户# service network restart二、ifdown/ifup# ifdown eth0# ifup eth0三、ifconfig# ifconfi

2011-09-29 13:42:29 2671

原创 linux解压 tar命令

tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存

2011-09-27 10:29:10 424

MFC类库详解.chm格式的文件

MFC类库详解.chm格式的文件,超好用类似于MS中文版的MSDN。

2009-11-02

用VC6.0编写的资源管理器程序源代码完全开放

用VC6.0编写的资源管理器程序,源代码完全开放。通过本程序代码会使你对列表视控件和树视控件有了进一步的加深。使你对计算机如何动态获取硬件磁盘内容有一个补充或是加深!

2009-11-02

用VC6.0编译通过的飞鸽传书(局域网聊天和文件传输)源代码完全开放

用VC6.0编译通过的飞鸽传书(局域网聊天和文件传输)源代码完全开放,适合网络通信的学习者,能过自动获取局域网在线主机名和查看在线人数。相信对你会有很大的帮助!

2009-11-02

vc俄罗斯方块源代码

很不错的VC俄罗斯方块经典游戏,源码完全开放!

2009-10-17

空空如也

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

TA关注的人

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