- 博客(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
9534
1
原创 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
1526
原创 sync、fsync、fdatasync、fflush函数
传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘 I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满 或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写 (delayed write)(Ba
2012-07-05 19:35:26
3606
原创 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
2593
原创 BM算法之二
首先,先简单说明一下有关BM算法的一些基本概念。 BM算法是一种精确字符串匹配算法(区别于模糊匹配)。 BM算法采用从右向左比较 的方法,同时应用到了两种启发式规则,即坏字符规则 和好后缀规则,来决定向右跳跃的距离。 BM算法的基本流程: 设文本串T,模式串为P。首先将T与P进行左对齐,然后进行从右向左比较 ,如下图所示: 若是某趟比较不匹配时,B
2012-04-20 17:09:30
568
原创 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
1289
原创 fedora syslog系统日志
系统日志也就是记录系统活动信息的文件日志文件在 /var/log下,该目录下不仅保存系统日志,还有其他服务的日志记录。执行命令dmesg 可以查看系统启动时的信息执行命令lastlog 查看系统用户最后登录信息文件 secure 中记录用户登录主机的信息文件 messages 记录大量的系统信息,包括系统的各种日常活动和服务的信息,也包括系统出现的错误信息文件 wtmp
2012-04-12 14:09:31
5183
转载 用C语言实现PHP的basename函数
#include #include #include /***********************************Author : DemonWebsite : http://demon.twE-mail : 380401911@qq.com***********************************//* {{{ php_basename */v
2012-04-11 19:59:29
1322
原创 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
6489
原创 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
1657
原创 pcap文件格式
Libpcap已经成为Linux,Unix平台上网络数据捕获的一个事实上的标准。所以,掌握Libpcap文件的格式也非常重要。这里用version2.4来说明(实际上,这个文件格式自从Libpcap的0.4版本,既是1998年来就没有改变过)。Libpcap文件用.pcap作为后缀。从上图可以看出来,每个Libpcap文件都有一个全局的头(Global header),然后跟着是N(N>=
2012-04-06 15:38:21
2052
原创 模式匹配之路
之前我的文章中,介绍了KMP,BM,AC,WM等几个经典的模式匹配算法,本文我将对常用的模式匹配算法做一小结。模式匹配算法的关系图如下所示:这里有几个我的文章中暂时没有涵盖的算法,这里做一简要说明。Rabin-Karp算法,这是一个基于散列值的模式匹配算法,根据散列算法,将长度为m的模式串计算一个散列值,然后对于目标串中各长度为m的子串分别计算散列值,与模式串的散列结果
2012-04-01 17:49:19
738
原创 BM算法详解
1977年,Robert S.Boyer和J Strother Moore提出了另一种在O(n)时间复杂度内,完成字符串匹配的算法,其在绝大多数场合的性能表现,比KMP算法还要出色,下面我们就来详细了解一下这一出色的单模式匹配算法,在此之前推荐读者读一下我的另一篇文章《KMP算法详解》,对于透彻理解BM算法大有裨益。在讲解Boyer-Moore算法之前,我们还是要提一提KMP算法的老例子,
2012-04-01 17:48:12
2126
1
原创 WM算法详解
提到多模式匹配算法,就得说一下Wu-Manber算法,其在多模式匹配领域相较于Aho-Corasick算法,就好象在单模式匹配算法中BM算法相较于KMP算法一样,在绝大多数场合,Wu-Manber算法的匹配效率要好于Aho-Corasick算法。这个算法是由吴升(台湾)和他的导师Udi Manber在九十年代提出。当然,要想充分理解WM算法如何加快多模式匹配的效率,还需要对BM算法的深刻了解,可以
2012-04-01 17:47:00
988
原创 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
3601
原创 KMP算法详解
KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。但是相较于其他模式匹配算法,该算法晦涩难懂,第一次接触该算法的读者往往会看得一头雾水,主要原因是KMP算法在构造跳转表next过程中进行了多个层面的优化和抽象,使得KMP算法进行模式匹配的原理显得不那么直白。本文希望能够
2012-04-01 17:38:02
568
原创 windows创建扩展分区
解决方法如下:单击“开始”菜单,从附件中找到“命令提示符”,右击选择“以管理员身份运行”打开命令提示符窗口,输入“diskpart”命令,进入DISKPART状态,然后按照下面步骤进行操作:1 选择物理磁盘输入“select disk N”选择物理磁盘,这里的“N”代表第几块物理硬盘。假如你要对第一块物理硬盘进行操作,应输入“select disk 0”,以此类推。2
2012-03-25 11:59:03
1393
原创 单链表逆序
设链表节点为 typedef struct tagListNode{ int data; struct tagListNode* next; }ListNode, *List;要求将一带链表头List head的单向链表逆序。分析: 1). 若链表为空或只有一个元素,则直接返回; 2). 设置两个前后相邻的指针p,q. 将p所指向的节点作为q指
2012-03-16 21:41:53
352
原创 让层(div)覆盖在flash之上
原理很简单,就是做一个div并让它定位于flash之上,然后再在div中增加所需的跳转链接.看看代码: 为了使z-index生效,要将容器定义为position:absolute; 必须为该容器设定背景,不然div无法覆盖在flash之
2012-01-10 10:22:42
650
原创 关于css中的position
对于position的几个属性:static : 无特殊定位,对象遵循HTML定位规则absolute : 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。而其层叠通过z-index属性定义。此时对象不具有边距,但仍有补白和边框relative : 对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置
2012-01-10 10:17:43
803
原创 Google Analytics10条有用教程
几乎每个网站都会统计自身的浏览状况:日IP、PV、跳出率、转换率、浏览者属性等等。了解这些数据有助于更好地了解浏览者的属性、知道网站在什么地方存在缺陷,为更好地提供服务、提高网站收入都有所帮助。对于大多数网站而言,Google Analytics是最普遍选择的方案,因为Google Analytics提供了非常强大的功能,最重要的是,它是免费的,而且不会像某些统计网站那样,会要求网站主在网站上
2012-01-06 13:48:02
6032
原创 Google Analytics分析教程(第一部分)
也许你不满足cnzz,51yes网站统计数据,想更详细的了解你网站用户使用习惯,进而提高产品销售额或用户注册数量?也许你已经对Google Analytics分析久仰大名?也许你面对Google Analytics强大的功能无从下手?那么接下来,我将一点一点给你揭开Google Analytics神秘的面纱。请订阅PPC110.com,你将从PPC110.com这里变成真正的武林高手!
2012-01-06 13:44:05
1522
原创 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
980
原创 公网/内网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
2152
原创 浅谈快速排序算法
浅谈快速排序算法快速排序,正如它的名字所示,它是在实践中最快的已知排序算法,它的算法思想是从待排序记录序列中选取一个记录为枢纽元,其关键字设为K,然后将其余记录中关键字小于K的记录移到前面,而将关键字大于K的记录移到后面,结果将待排序记录分成两个部分(S1、S2),最后将关键子K的记录插入到其分界线位置,这个过程是一趟快速排序。通过一次划分后,就以关键字为K的记录为界,将待排序的序列分
2011-11-28 10:36:09
730
原创 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
390
原创 进程与线程的区别
线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行. 进程和线程都是由操作系统所体会的程序运行的基本单元,
2011-11-25 18:19:47
369
原创 __inline和宏定义
__inline关键字但使用KEIL4 ARM编译测试未过,验证了宏定义和内联函数的区别,自己总结宏定义和内联函数都不生成代码段,程序运行也没有参数压栈开销内联函数检查调用参数的合法性,也可以进行参数类型转换一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例:
2011-11-23 10:21:02
546
原创 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
565
原创 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
644
原创 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
448
原创 c++空类实例大小不是0原因收藏
初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟就是我在学习编程过程中的一点经验,是编译器这方面的一个具体功能.首先:我们要知道什么是类的实例化,所谓类的实例化就是在内
2011-10-21 16:51:38
423
原创 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
587
原创 gsoap开发webservice
gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多。绝大多数的C++web服务工具包提供一组API函数类库来处理特定的SOAP数据结构,这样就使得用户必须改变程序结构来适应相关的类库。与之相
2011-10-12 20:14:42
805
原创 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
3943
1
原创 gSOAP简单使用例子
一.系统环境linux操作系统kernel2.4.2,安装gsoap2.6到目录/usr/local/gsoap二.gSOAP的简要使用例子下面是一个简单的例子,实现一个加法运算的WebService,具体功能是cli端输入num1和num2,server端返回一个n
2011-10-12 19:48:00
3293
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
943
原创 Linux重启网卡的方法
重启网卡的几种方法:一、network利用root帐户# service network restart二、ifdown/ifup# ifdown eth0# ifup eth0三、ifconfig# ifconfi
2011-09-29 13:42:29
2689
原创 linux解压 tar命令
tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存
2011-09-27 10:29:10
435
用VC6.0编写的资源管理器程序源代码完全开放
2009-11-02
用VC6.0编译通过的飞鸽传书(局域网聊天和文件传输)源代码完全开放
2009-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人