- 博客(44)
- 资源 (19)
- 收藏
- 关注
转载 KMP算法
<br />我们从一个普通的串的模式匹配算法开始讲起,这样你才能更深入的了解KMP算法及其优点。<br />咱们先来看看普<br />通的串的模式匹配算法是怎么进行比较的<br /><br />主串 (S) a b a b c a b c a c b a b<br />子串 (T)a b c a c (子串又被称为模式串)<br />红色表示当前这趟比较指针所在位置,兰色表示当前这趟比较中匹配的部分<br /><br />第一趟(详细过程)<br /><br />ab a
2010-10-15 19:41:00
869
转载 在 Linux 上实现基于 Socket 的多进程实时通信
<br />套接口(Socket)为目前Linux上最为广泛使用的一种的进程间通信机制,与其他的Linux通信机制不同之处在于除了它可用于单机内的进程间通信以外,还可用于不同机器之间的进程间通信。但是由于Socket本身不支持同时等待和超时处理,所以它不能直接用来多进程之间的相互实时通信。<br />本文提出一个基于Socket的多进程之间通信的实现方法。原理是建立一个进程专门用来做为通信服务器(server)来中转各个进程之间的通信。它首先启动一个用来监视连接要求的listening Sock
2010-10-11 02:19:00
970
转载 Socket简介
<br />1.Socket简介<br />Socket是TCP/IP网络的API,可以用它来开发网络应用程序,Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符<br />2.Socket的建立<br />int socket(int domain, int type, int protocol)<br />函数返回:一个整型的Socket描述符,可以在后面调用它。<br />参数说明:<br />int domain:指明所使用的协议族, 通常是PF_INET, 表示网络
2010-10-11 02:16:00
643
转载 linux下socket通信之通信模型
<br />1.Socket简介<br />Socket是TCP/IP网络的API,可以用它来开发网络应用程序,Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符<br />2.Socket的建立<br />int socket(int domain, int type, int protocol)<br />函数返回:一个整型的Socket描述符,可以在后面调用它。<br />参数说明:<br />int domain:指明所使用的协议族, 通常是PF_INET, 表示网络(T
2010-10-11 02:02:00
1557
转载 SecureCRT6.0.2右键粘贴
1、习惯用putty的朋友,一般都习惯鼠标右键自动粘贴的功能,对于SecureCRT6.0.2 ,这个功能也已经是默认配置了。 老版本的SecureCRT其实也有这个功能,只是不是默认设置,很多人不知道罢了。 菜单: Options->Global Options ...->Terminal 里面有个Mouse的选项块。 Copy on Select Paste on Right/Left Button 这两个选项选上就好了,跟putty一样,用起来顺手多了。 2、 Glo
2010-09-24 21:54:00
1023
原创 gcov和lcov的使用
<br />1、Gcov是进行代码运行的覆盖率统计的工具,它随着gcc的发布一起发布的,它的使用也很简单,需要在编译和链接的时候加上-fprofile-arcs -ftest-coverage生成二进制文件,gcov主要使用.gcno和.gcda两个文件,.gcno是由-ftest-coverage产生的,它包含了重建基本块图和相应的块的源码的行号的信息。.gcda是由加了-fprofile-arcs编译参数的编译后的文件运行所产生的,它包含了弧跳变的次数和其他的概要信息。gcda文件的生成需要先执行可执行
2010-09-04 23:36:00
4279
原创 学习中的疑惑解决
两个指针相减<br />两个没有联系的指针相减是没什么意义的,只有像数组这样的才是有意义,其实两个指针相减就是数组下标的相减。printf("%ld",(&a[2]-&a[0]));输出的结果是2new只是执行构造函数,不分配内存<br />new (x) A();x代表存在的内存的指针,A就是构造函数打印枚举自身的字符串<br />
2010-08-15 21:09:00
620
原创 google test的使用
本人终于将google test搞定了,实在是费了不少的力气,根据readme文件的提示是./configure ------make ----make check ----make install 但是在编译自己的的test文件的是时候出错了,我用gcc进行编译是无论如何也编译不过去的,不知道是什么原因,只有将文件后缀名改为cpp,用g++才编译过去, 生成.o文件 g++ $(gt
2009-03-21 20:05:00
2176
原创 现在,有两个整数A和B,例如A是345,B是478,现在,需要把B插入到A里, 而A有三位,所以有四个位置选择,所得结果分别是: 478345, 347845, 344785, 345478 我们通过对比可以知道,在这当中最小的一个是344785
//-1代表在最前面插入int Connect(char *source, char *dest){ int len_s = 0; int len_d = 0; int i = 0, j = 0; int insPos = 0; len_s = strlen(source); len_d = strlen(dest); while(i {
2009-03-02 20:45:00
846
原创 逆序数
在线性代数里有这么一个概念:有一个数列,如21543,1的前面有1个数比它要大,4的前面有1个数比它大,3的前面有2个数比它大,总数是1+1+2=4所以21543的逆序数就是4 int ReversNum(char *str){ int i = 0; int len = strlen(str); char *p = str; int count = 0
2009-03-01 19:47:00
699
原创 删除字符串中的空格
删除字符串中的空格,字符串最长可为99999999999 int DelSpace(char *str){ int i = 0; char *pst = str; char *lst = str; while(*pst != /0) { if(*pst != ) { *(lst + i) = *p
2009-03-01 19:26:00
580
原创 美剧
无字幕下载地址:http://www.mininova.org/ torrentspy.com http://www.eztvefnet.org/ (上面这些是不错的,下面的这些没有验证) 国外Bt下载网站 http://www.mininova.org/ http://www.torrentsforall.net/ http://www.bt-chat.com
2009-03-01 13:19:00
972
原创 永别了,中冶京城,永别了,北京
从10.8开始在中冶实习的日子,自己在这一个月的时间里尝到了人间的快乐与痛苦转变的苦涩,当我在隐隐约约中知道自己在实习中被淘汰的时候,我无法克制我自己内心的痛苦,我的心当时确确实实的在流血,我的心在当时全乱了,我已经不能再安心的实习下去了,我感觉到了在那里的尴尬,我感觉到了在那里的痛苦,我不知道我的哪个方面没有达到我们领导的要求,我不知道是不是我每天的沉默寡言使她意识到我是那么的没有能
2009-03-01 13:18:00
7877
5
原创 工作之旅
研究生的生活就要结束了,艰苦的找工作的历程就要开始了,当我写这篇文章的时候,找工作的历程已经开始了,其实我的the road ofsearch work 从7月就开始了,当时以为自己有两年的工作经验,又读了研究生,以为自己的the road of searchwork将会别的异常的简单,先是自己的再51job上注册了简历,然后就开始了自己的海投简历的过程,刚开始投的全是南方的,因为老婆现在
2009-03-01 13:16:00
1005
1
原创 给我一个去北京的理由
北京,伟大的中国的首都,亿万人向往的地方,当然也包括我自己,自从从四川长虹辞职的那一天开始自己就对自己说,等我硕士毕业之后一定要在大城市里面生活,但是自己绝对不去铁岭那么大的城市的,自己为考研付出了很多很多的,在刚开始的时候早晨6点起床,虽说没坚持几天,但是自己毕竟坚持过,我只是想自己能考上硕士,能进入大城市进行我的生活,但是所有的这一切在我毕业的时候突然变的这么的渺小,当我收到中冶的实习
2009-03-01 13:15:00
1464
原创 栈的顺序实现以及括号匹配判断程序
#define STACK_MAX_NUM 10typedef struct tag_Stack_S{ char StackData[STACK_MAX_NUM]; int top;}Stack_S;void Stack_Init(Stack_S *sl){ sl->top = -1; }//进栈int Stack_In(Stack_S *sl, char Element)
2009-03-01 13:09:00
798
原创 队列的链式实现源码
typedef struct tag_Queue_Node_S{ int QueueData; struct tag_Queue_Node_S *next;}Queue_Node_S;typedef struct tag_Queue_Link_S{ Queue_Node_S *front; Queue_Node_S *rail;}Queue_link_S;int LinkQ
2009-03-01 11:34:00
777
1
原创 pclint在sourceinsight的集成
将PC-LINT功能集成在Source Insight中的过程如下: 1)从Options菜单中选择“Custom Commands”命令项。 2)在Name栏中输入“PC-lint ”,这个名称可以随便起,只要清晰即可。 3)在Run栏中输入“c:/lint/lint-nt std.ln
2009-02-01 20:42:00
8851
5
原创 vim安装与配置
vim的自动縮进1、配置文件的位置在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。 2、设置语法高亮显示1) 打开vimrc,添加以下语句来使得语法高亮显示:syntax on2) 如果此时语法还
2009-01-30 20:02:00
1014
原创 打造linux下的sourceinsight(待续)
1、CTAGS一、用好系统自带软件ctags 大部分的unix系统都有ctags软件,它能跟vim很好地合作。 用途: 生成c语言的标签文件,实现相关c文件之间的跳转。 用法: 1.生成标签文件 在当前目录下(运行$提示符后面的命令): $ctags -R . -R表示recursive,递归,为
2009-01-30 18:15:00
2029
原创 linux下Firefox在新tab中打开网页
这两天中终于把 Ubuntu 7.04安装好了,但发现 Ubuntu 下面的 Firefox(已经升级到2.05)总是在新的窗口打开新的网页,即使在 firefox 中设置了在新 tab 中打开也没有作用。如果想在新的 tab中打网页,只能用鼠标的中键,使用起来感觉很不爽。解决的方法如下:(参考:http://ubuntuswitch.wordpress.com/2007/03/01/op
2009-01-29 19:18:00
3013
原创 pclint
pclint 升级和使用2006-12-04 18:471.先随便找个网,把lint包down下来,解压到c:/lint 下(任意) 然后进入命令行模式,到c:/lint 下,键入lint-nt -v查看版本号,可能显示如下 PC-lint for C/C++ (NT) Ver. 8.00a, Copyright Gimpel Software 1985-2001你看,
2009-01-11 13:20:00
5509
转载 setsockopt
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历TIME_
2009-01-11 12:28:00
811
原创 fcntl函数
该函数可以改变已打开的文件的性质。 #include int fcntl(int fields, int cmd, .../* int arg */); //若成功则依赖于cmd,若出错则返回-1 第三个参数总是一个整数,与上面所示函数原型中的注释部分相对应。但是在作为记录锁用时,第三个参数则是指向一个结构的指针。 fcntl函数有5种功能: 1.复制一个现有
2009-01-11 12:18:00
484
原创 Linux系统调用列表
其中有一些函数的作用完全相同,只是参数不同。(可能很多熟悉C++朋友马上就能联想起函数重载,但是别忘了Linux核心是用C语言写的,所以只能取成不同的函数名)。还有一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数在前面标上“*”号以示区别。 一、进程控制:
2009-01-11 10:17:00
508
转载 限制进程使用的资源
getrlimit和setrlimit函数 每个进程都有一组资源限制,其中某一些可以用getrlimit和setrlimit函数查询和更改。 #include #include int getrlimit(int resource,struct rlimit *rlptr); int setrlimit(int resource,cons
2009-01-11 10:15:00
848
原创 memmove 和memcpy有什么区别
void *memcpy( void *to, const void *from, size_t count ); The function memcpy() copies count characters from the array from to the array to. The
2009-01-10 10:47:00
638
转载 IPv6名称到地址的转换函数getaddrinfo()详解
2004-12-12 (修改)IPv4中使用gethostbyname()函数完成主机名到地址解析,但是该API不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。为了解决该问题,IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。调用该函数会获得一个addrinfo结构的列表,调用的返回值是addrinfo的结
2009-01-10 10:37:00
3425
2
原创 strrchr:在串中查找指定字符的最后一个出现
功 能: 在串中查找指定字符的最后一个出现用 法: char *strrchr(char *str, char c);程序例:#include #include int main(void){ char string[15]; char *ptr, c = r; strcpy(string, "This is a string"); ptr = strrchr(strin
2008-12-31 20:06:00
1123
原创 access:判断文件是否存在
unix下如何判断一个文件夹是否存在? #include #include int main(int argc, char *argv[]) { if( NULL == argv[1] ) { printf("please input file path"); return 0; }
2008-12-31 20:04:00
709
原创 sscanf的用法
在softmse (Jake) 的问题贴http://community.youkuaiyun.com/Expert/topic/4843/4843294.xml?temp=.4321558中 ,周星星给出了一个很cool的sscanf用例,而后通过学习,发现sscanf真棒,现做一总结。原问题:iios/12DDWDFF@122获取/和@之间的字符串怎么做C程序里面有什么函数吗?周星星的代码:
2008-12-31 20:00:00
578
原创 scandir、direct的用法
表头文件:#include 定义函数:int scandir(constchar *dir, struct dirent **namelist, nt(*select) (const struct dirent *), nt (*compar) (const structdirent **, const struct dirent**));函数说明:scandir()会扫描
2008-12-31 19:57:00
3289
转载 google test
前几个月Google开源了它的测试框架,自称其旗下的上千个项目都在使用它。今天我们就用它来尝尝鲜吧?:-) 安装:下载Google C++ Testing Framework,解压...VC2005: 直接打开msvc/gtest.vcproj或msvc/gtest.sln,直接编译即可。Linux/Unix下的GCC: 传统过程:./configure makeMingw:
2008-12-31 19:20:00
5712
1
转载 sed的用法
-------------------------------------------------------------------------SED单行脚本快速参考(Unix 流编辑器) 2005年12月29日英文标题:USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor)原标题:HANDY ONE-
2008-12-30 21:33:00
671
转载 linux下的C编程技巧
1. 获取文件的信息:stat(char* filename, struct stat* buf);struct stat { dev_t st_dev; /* 设备 */ ino_t st_ino; /* 节点 */ mode_t st_mode; /* 模式 */ nlink_t st_nlink; /* 硬连接 */ uid_t st_uid; /* 用户ID */ gid_t
2008-12-23 21:27:00
744
原创 回调函数的使用2
为了降低函数的圈复杂度,可以通过查表来调用函数:#include #if 1typedef int (*pfCallBack)();int test1(){ int i = 0; i++; printf("%d",i); return 1;}int test2(){ int i = 1; i++; printf("%d",i); return 1;}
2008-11-10 19:35:00
387
原创 回调函数的使用1
使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。至于如何定义回调函数,跟具体使用的API函数有关,一般在帮助中有说明回调函数的参数和返回值等。C++中一般要求在回调函数前加CALLBACK(相当于FA
2008-10-28 22:01:00
479
转载 H264学习记录(摘录自http://bbs.chinavideo.org)
H.264 码流是由一个个 NALU 组成,而 NALU 又是由 NALU 头和 RBSP 数据组,每个 NALU 由头和体组成 NALU 头就是刚才我们看的 7.3.1 小节中的三个粗体字forbidden_zero_bit(1比特)、nal_ref_idc(2比特)、nal_unit_type(5比特) ,NALU 体就是 RBSP 数据 :EBSP:在RBSP的基础上增加了防止伪起始码字
2008-10-22 21:37:00
1201
转载 H264学习----2
在写这个题目是,就感到有些战战兢兢,在这个论坛也混了一段时间了,说实话,并没有感觉在这里学到太多东西。而且觉得大家讨论问题的深度不及“视频设计芯片论坛”http://china264.68l.com/index.asp因为最近手头的活基本搞完了,人也闲了下来,这么热的天气,突然想写这么一篇文章。不过首先声明的是我对H264并不是太熟悉。但多多少少也学习了这么久了,写点心得出来对自己是个交待,同时也
2008-10-18 20:31:00
1310
转载 H264学习----1
半年前,我知道了H.264这个名词。那个时候决定学习H.264,可是我连资料都不知道如何收集。而且整个学校就只有我一个人在学习H.264,找不到人交流,所以那个时候学得真的是举步维艰,很痛苦,而能在网上认识一个学习H.264的同志真的是一件让我很高兴的事。后来慢慢在网上找到了一些介绍H.264的文章,当然也找到了peter李的网站,找到了流媒体论坛。那个时候在论坛里看见别人问的问题,我都完全不
2008-10-18 20:30:00
1018
《TCPIP协议内核源码分析》正式版上册.pdf
2010-10-28
pc-lint选项详解
2009-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人