自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (17)
  • 收藏
  • 关注

原创 ipsec-tools静态配置

最近用ipsec-tools来做测试,用到了静态配置。将几种组合整理下发布在这里。其中,transport+esp这个组合没有。1. transport+ah # To manually configure IPSEC tunnels on a x86 router:# setkey -f (this file)#flush; spdflush;spdadd 1

2012-08-07 11:23:02 2388

原创 strongswan 运行出错

configured DH group MODP_2048 not supported需要重新交叉 编译strongswan  让他支持gmp和openssl在这里又需要对gmp和openssl分别交叉编译

2011-11-25 13:15:39 2764

原创 [转]C++常用库函数atoi,itoa,strcpy,strcmp的实现

C++常用库函数atoi,itoa,strcpy,strcmp的实现 <br />1.//整数转换成字符串itoa函数的实现<br />#include "stdafx.h"<br />#include <iostream><br />using namespace std;<br />void itoaTest(int num,char str[] )<br />{<br />       int sign = num,i = 0,j = 0;<br />

2010-07-03 13:25:00 1483

原创 最长回文子串

看算法设计书上提到这个问题,书上给出了一个很好的解法。 对于输入的一个字符串,可能包含大小写,标点符号,空格等等字符。所以我们第一步需要做的就是剔除掉这些非字母字符。并且记下字母字符在原串中的位置。 第二步,我们要找最长的回文子串,书上给出的解法是采取假设中间字符的位置这一方法。一次假设该字符为回文子串的中间字符,并分两种情况向左右两边扩展, 一种是回文子串长度为奇数个,一种是回文子串长度为偶数个。具体实现如下:

2010-06-10 17:47:00 1177 1

原创 [转]DHCP、DHCP中继通信过程

<br />之前一直没弄明白在有中继的时候,DHCP的过程会是什么样的,今天找到了这篇博文,特转到自己这来。<br />原博文地址为:http://ewangsoft.blog.163.com/blog/static/772155822009729312332/<br />一、DHCP通信过程之一:DHCP客户端首次发出DHCP Discover时<br /><br />        从实际抓包可以看到,DHCP通信过程包括五部分:<br />              1、DHCP客户端以广播

2010-05-31 22:47:00 5273 1

原创 GDB调试多文件的工程

以前用GDB调试都只是调试单个的文件,在做DHCP二级relay的时候需要对整个工程进行gdb调试,发现自己竟然不会!现在终于恶补上了,发到博客上与大家分享。下面就以我调试ISC DHCP代码为例来说一下调试的过程 首先启动dhcrelay:sudo gdb dhcrelay由于dhcrelay的启动是需要加参数的,所以用到set args:set args –d –i e

2010-05-14 12:05:00 20591

原创 二叉查找树

刚把数据结构c语言描述的二叉查找树这一部分看完,书上的给出了函数的定义,我都实现了一遍,有递归的和非递归的两种,源代码贴上来,留作纪念了。源文件有比较详细的注释,但是在Live Writer里面显示是乱码,希望在网页上不是乱码 tree.h头文件内容: #ifndef _Tree_H#define _Tree_Htypedef int ElementType;

2010-04-02 19:34:00 776

原创 编程之美系列(5)

斐波那契数列 公式如下: 如果 n=0;F(n)=0 如果 n=1;F(n)=1 如果 n>1;F(n)=F(n-1) + F(n-2);   接斐波那契数列有递归方式和非递归方式 非递归方式如下: #include stdio.h> #include malloc.h> #include stdlib.h>#includ

2010-01-20 19:45:00 470

原创 编程之美系列(5)

    题目:最大公约数问题       书上给出了三种解法,前两种都是大家常用的方法,第三种方法很奇特,效率也很高 第一种解法是根据公式:f(x,y) = f(y,x%y);如果y=0,则x为最大公约数 #include stdio.h> #include malloc.h> #include stdlib.h>#include string.h>#include

2010-01-20 19:17:00 709

原创 编程之美系列(3)

     “水王”问题:在一个论坛里,有N个ID发帖,其中一个ID发的帖子数超过了论坛总贴数的一半,现在要从N各ID中找出这个“水王”ID。 如果每次删除两个不同的ID(不管是否包含“水王”的ID),那么,在剩下的ID列表中,“水王”ID出现的次数仍然超过总数的一半。可以不断重复 这个过程,把ID列表中的总数降低(转化为更小的问题),从而得到答案。 int Find(int *ID,i

2010-01-19 23:13:00 584

原创 编程之美系列(1)

今天开始看编程之美这本书,之前看过这本书的介绍觉得很不错。一直没有时间看,现在项目稍微轻松点了,得抓紧时间看书了。上一次大概浏览了下这本书,决定从第二章开始看,今天写的是第二章的第一个小部分:求二进制数中1的个数。   书上介绍了很多方法,非常不错! 第一种:最直接的解法,用%与/。如果取余结果为1,则计数加1,然后除以2.源代码如下 #include stdio.h>int

2010-01-11 21:13:00 651

原创 求重复数字的问题

题目要求如下: 数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型: int do_dup(int a[],int N) 本身是一个很简单的题目,但是要求时间复杂度为O(n);所以必须得想点其他方法。 题目要求数组中存放的是1至N-1个数,所以可以从求和的角度来算出多出来的这个数。 源

2010-01-10 15:16:00 835

原创 字符串库函数memmove的源代码

这几个函数中,最难的要数memmove这个函数了。memmove的原型是memmove(void *dst,void *src,int count)。因为这个函数需要考虑到dst和src都是指向同一个字符串中不同位置的问题。所以在这里需要对于这种情况作出判别。 具体注释见源代码: #include stdio.h>#include string.h>void *mem

2009-12-27 21:23:00 3840 1

原创 有关字符溢出的问题

       在论坛看到一个问题,关于字符的溢出。如下 char a = 100;char b = 200;char c = a + b; 这里a,b,c都是有符号的字符类型,所以范围是-128-127。因此b肯定是溢出的,现在的关键是溢出后b中实际存储的值是多少??? 这里来分析下: 在一般的32位机器上,200=0x000000c8,将200

2009-12-26 23:24:00 1444

原创 面试题目系列二

这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (

2009-12-25 19:44:00 1029

原创 找第k大的数

本文想说的是k=2的这种特殊情况。对于k是其他值,我想到的最直接的方法就是,将数组data排序,然后返回第k大的数就可以了。对于k=2情况的处理如下:int Find(int data[],int n){ int sec_num = -32767; int i; int max = data[0]; //假定第一个数是最大值 for

2009-12-25 17:35:00 1325

原创 两个有序单链表的合并

有序单链表的合并就是两个之前都已排好序的链表,将它们合并成一个链表。合并的过程中对于两个链表值相等的结点也要链到最终的链表中去。源代码如下:#include stdio.h>#include malloc.h>struct Node{ int data; Node *next;};typedef struct Node Node;

2009-12-25 10:00:00 20223

原创 单链表的逆序

今天看面试题目系列二时,碰到了这么一个题目。刚开始的想了下,以为会跟字符串逆转类似,所以动手写ReverseList的时候就把它当成字符串逆转处理了。完了后发现是根本不能这么处理,因为字符串指向最后字符的指针pend可以通过pend--来往前进行访问,但是单链表最后的结点却不能这样向前访问,所以这个想法错误了!!!后面看了下答案,才知道可以通过指针的操作完成,十分惭愧!!!所以决定记下来,

2009-12-24 09:39:00 1709

原创 字符串反转系列问题

发现不论是在面试还是在平时的学习中,会碰到很多字符串反转相关的问题。之前自己也写过这方面的程序,今天突然发现自己之前的程序有一个致命的BUG,所以决定把字符串反转这一系列的问题总结下,也把自己之前程序的BUG总结下。 首先是我之前写的程序,同时这也是处理第一类的字符串反转问题,也就是输入This is a string.,输出为.gnirts a si sihT:#in

2009-12-19 11:08:00 14358 2

原创 面试题系列之一

1       编程基础 1.1    基本概念的理解:const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 const char  * const

2009-12-15 22:03:00 1584 1

原创 简便方法求解一道算法题目

问题描述:给出2n+1个数 其中有n个数是成对出现的 找出里面只出现了一次的那个数 当然 如果先快排完了 排除掉相同的数 当然可以找到那个只出现过一次的数 但是快排的复杂度是n*logn 据说可以用O(n)复杂度和O(1)的额外空间解决 原帖地址:http://topic.csdn.net/u/20091029/18/aa257244-c489-4ed7-8ccb-09c619d01b

2009-12-12 23:17:00 1210 1

原创 两个或N个字符串最大公共子串算法

在版里看到有人问最大公共字串的问题,自己学习后在这里将总结发出来。最大公共字串分为两类,一类是我们大家所熟知的两个字符串的最大公共子串,另一个是我在搜索中发现的就是N个字符串的最大公共字串问题。首先来看两个字符串的最大公共字串问题。这里我列出了两种解法,第一种就是暴力解法,第二种是动态规划来解的。还有一种解法就是我们数据结构书上会降到的KMP匹配算法,这里我没给出。 第一种

2009-12-11 11:52:00 16788 2

原创 对一条语句输出回文值的补充

之前发过一篇博客,写的是关于一条语句输出回文值,在发那篇博客的时候并没有看懂那条语句的执行过程,现在补充道这里。 原来那篇博客的地址是:http://blog.csdn.net/jianzhibeihang/archive/2009/12/06/4952037.aspx   今天特定在c版发了贴问了下,发现了很多好的回帖。版里的大牛还是很多啊! 原帖地址为:http://topic.cs

2009-12-09 15:04:00 866

原创 用c和c++分别实现ASCII String to integers

c++的实现,需要使用stringstream流,也就是字符串流,使用它可以很方便实现ASCII String和Integers的互转源代码如下:#include #include using namespace std;string& int_to_string(int &input){ static string str; ostringstream o

2009-12-08 21:19:00 2242

原创 交叉编译环境下静态库动态库的加载

     现在做的这个项目用到的是开发板是MIPS芯片,所以无论是在编译我自己的源代码时,还是对方的静态库,我都要使用MIPS的gcc,也就是在我的pc装好交叉编译环境。交叉编译环境的概念在pc平台上装上特定嵌入式开发的编译环境,对于嵌入式开发的源代码,可以用其编译环境在pc平台上编译源代码。 交叉编译时候如何配置连接库的搜索路径 交叉编译的时候不能使用本地(i686机器,即PC机

2009-12-08 19:10:00 5089

原创 linux下静态库、动态库相关问题总结

  前段时间项目中用到了对方给的库文件,从最初的不会用到现在小有心得,并且在看了网上很多大牛的博客后,总结下发在这里。下一篇会发一篇关于在交叉编译环境下,静态库和动态库加载的问题。 一、静态库、动态库的概念      库文件是一些函数、变量的集合,已编译过的代码。一般分为静态库和动态库两种。静态库: 静态是指每个用到该库的应用程序都拥有一份自己的库拷贝;应用程序运行的时候,即使

2009-12-08 18:47:00 2420

原创 约瑟夫环问题两种情况解答

     约瑟夫环问题主要分两种,    第一种问题的描述是:N个人按顺时针围成一个圈,从1到N,然后报数,报到M的人就出去,然后剩余的人仍然围成一个圈,从出局的人下一个人开始重新报数,到M的人出局,如此循环。   第二中问题的描述唯一的不同之处就是每个人都会持有一个密码,这个密码用来设置M,也就说一个人出局以后,按他所拥有的密码作为M来进行淘汰。 第一种问题有两种解法,第一种就是

2009-12-06 21:05:00 5848 1

原创 一条语句输出回文值....经典

原帖地址:http://topic.csdn.net/u/20091029/10/545cde0e-c28e-42bf-9ae5-155d9d9dd4ce.html 这是一道面试题,要求写一个函数写一个函数 int p(int i, int N); 能够输出i到N再到i,即以参数1,7调用函数,输出结果为 1 2 3 4 5 6 7 6 5 4 3 2 1要求只用一个语句完成,不允许用

2009-12-06 17:26:00 1644

原创 结构体指针为分配内存访问结构体成员错误

原帖地址:http://topic.csdn.net/u/20091205/20/6af2931e-ce9a-4ccb-bf2f-13a49f39963f.html?seed=592508926&r=61679380#r_61679380 #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #include #inclu

2009-12-05 22:48:00 2194 1

原创 几个shell题目

1.for i in $(seq 0 9);do touch file$1;done 2.sort -k 1 -t : passwd | awk -F : { print $3":"$4":"$5} 3.diff -B file1 file2 4.isodump -i out.iso -x /media/cdrom ; umount /media/cdrom #没有考虑cdrom被别的

2009-12-05 22:46:00 1552 1

原创 大数相乘算法

              师姐前几天有个在线笔试,怕时间上来不及就找我给她帮下忙。做了几道题目,觉得应该是面试当中常常用到的,大数相乘就是其中一个题目,觉得应该是以后面试中经常会用到的,所以记了下来。      我这里采取的方法是将大数保存在字符串中,然后将两个字符串逐位相乘,再进位和移位。应该还有效率更高的代码。 源代码:           #include #inc

2009-12-05 21:17:00 28869 22

原创 *** glibc detected *** free(): invalid pointer:解决方法

     最近写了一个snmp方面的程序,就是实现snmp的get操作,在编译运行后报了标题上的错误,先在网上搜索了下,发现很多都有同样的错误,大概原因是在用mallc申请了存储空间后所返回的指针在之后的操作中使所返回的指针的指向发生了变化,例如: *sp = (char *)malloc (10*sizeof(int)); while (*sp != /0){         

2009-04-02 11:41:00 35173 1

原创 can't find -lperl 解决方法

    最近在ubuntu 8.10下安装一些软件时,老出现这个错误,网上搜索了下  比较难找到今天在国外一个网站上看到了一个解决办法,和大家共享一下: 一般报类似错误,都是由于某些软件包没有安装造成的,所以只要安装软件包就可以了 sudo apt-get install libperl-dev在终端输入上面命令 就可以了  

2009-04-02 09:48:00 1955

原创 配置cisco2600路由器的笔记

       一直想开博客写点自己学习中的心得或者发发学习中所做的笔记,以此也算督促自己养成勤记笔记的习惯,以下所写都是自己在配置cisco路由器时的笔记,如果不真确这处,还请大家指正,谢谢! 一、基本介绍:cisco路由器分为几类配置模式,如下:User EXEC        启动后默认的模式   Router>   利用logout命令退出Privileged EXEC  从

2009-03-17 09:31:00 4219

深入理解linux网络技术内幕--中文版--part2

很好的介绍内核网络子系统的书籍 而且还是中文版 清晰

2013-12-23

深入理解Linux网络技术内幕-中文版-part3

很好的理解linux网络协议栈的书籍,中文版!

2013-12-23

NAT对于icmp、tcp、udp的实现

文档详细描述了NAT针对TCP UDP ICMP以及ip分片的实现。并配备了详细图片。

2011-08-16

Negotiating.Your.Salary.and.Perks

找了很久的资料,很多网站都收费要钱的,转了很多国外网站下下来的 跟大家分享了

2010-10-08

C语言深度解剖_pdf格式

C语言深度解剖是一本很经典的讲解c语言中常见问题的书籍,也是国内很难得一见的经典书籍,学习c语言必看的一本书

2010-09-17

C&C++嵌入式系统编程

这是专门描述嵌入式编程中c/c++的使用的 很适合嵌入式开发者和想学习嵌入式的人

2010-09-17

linux shell 编程指南

初学shell必看的书本,pdf格式,还有书中所有的例子源代码 绝对值得下载

2009-03-31

高级Bash脚本编程指南(Advanced Bash-Scripting Guide)

英文原版,英语好的可以看看阿 对于我来说看了这本书,shell编程学习的相当深入了

2009-03-27

高级Bash脚本编程指南(Advanced Bash-Scripting Guide)

学习shell编程的宝典,而且还是中文版 pdf格式 绝对值得下载

2009-03-27

c语言编写的shell

这是自己用c语言写的一个shell,能执行shell所能执行的所有基本功能,是我的课程作业之一。很好的学习资料,很多人会在上linux这门课程时,遇到这样的作业

2009-03-24

Linux内核编程API详解

列出了内核编程中要用到的所有API 有详细的用法和介绍 方便查找

2009-03-23

Linux指令大全[最适合初学者]

对于初学者熟悉linux下的命令是很好的入门资料,里面详细列出了各种指令的参数和用法,而且是安字母序排列,十分方便查找

2009-03-23

ubuntu 8.10 常用软件安装

手把手教你安装8.10下常用的软件 对于新手 绝对值得下

2009-03-23

linux下real plaer 安装包

感觉跟windows下面完全没区别,播放画质很好 安装方便

2009-03-23

UNIX环境高级编程

学习unix编程很好的资料,对于初学者和有基础的都使用

2008-09-21

跟我一起写makefile

很详细介绍如何写makefile的文章,手把手教你如何写makefile。

2008-09-07

ubuntu8.04入门手册

这是详细介绍如何安装Ubuntu和使用的文档,里面内容十分的详细,对初学者来说是再好不过的资料了

2008-09-07

空空如也

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

TA关注的人

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