- 博客(65)
- 资源 (14)
- 收藏
- 关注
翻译 让GDB支持STL的标准库的方法
本文源自http://sourceware.org/gdb/wiki/STLSupport正常情况下,gdb没法直观的打印出stl标准库中的容器之类的,调试起来非常困难了。如vector,queue, deque, list等。如vector a(gdb) p a$1 = { >> = { _M_impl = {> = {> = {}, }, _M_start = 0
2013-03-23 19:01:37
7961
1
原创 ubuntu用git-daemon搭建git服务器和配置方法
网络查找资料虽然很方便,但是网上很多人转载文章都是不负责任的....搭建这个git服务器老是不成功.重启git总是运行不起来,,,特别是那个网上说的sv git-daemon restart命令,老是出错.而自己将命令敲进去到是可以.. 对于这点,当然可以加到/etc/rc.local或者profile文件解决..但本人想要一个更*完美*的方法(每个人理解不同)并且搜来搜去,都是转载的
2013-03-15 21:04:30
10961
原创 MySql用户权限控制
文章摘自《MySQL必知必会》这本书我要推荐下,书只有250页不到。但是比较全面的讲解了MySQL的实践方面的操作,用来入门不错。网上有pdf的电子书本文将介绍MySql创建帐号,删除帐号,设置和介绍各种帐号的权限创建用户帐号:CREATE USER user_name IDENTIFIED BY 'your_password';改名RENAME USE
2013-03-11 16:47:08
9707
转载 python中的用来定制类的特殊方法的含义
摘自《python核心编程》13.13节,用特殊方法定制类表 13.4 用来定制类的特殊方法基本定制型 描述C.__init__(self[, arg1, ...]) 构造器(带一些可选的参数)C.__new__(self[, arg1, ...])
2012-12-27 15:45:25
2702
原创 log4c日志库的用法,再封装及其完整例子
找了多篇文章,发现都讲的不怎么简明。自己摸索了下,记录如下:Log4c中有三个重要的概念, Category, Appender, Layout。Category用于区分不同的Logger, 其实它就是个logger。在一个程序中我们可以通过Category来指定很多的Logger,用于不同的目的。Appdender用于描述输出流,通过为Category来指定一个Appdender,可
2012-11-16 21:51:24
17101
1
原创 C语言求字母的全部组合
使用的递归的方法:既然是组合,则顺序不要求顺序了。主要原理就是从第一个字符开始,分两种情况:1.留下此字符;2.去除此字符。 再对剩下的字符求组合。然后再第二个字符,分两种情况,再对剩下的字符求组合转载请注明出处:http://blog.youkuaiyun.com/fdl19881/article/details/7983268#include #include #include
2012-09-15 22:31:51
5260
转载 shell中使用sort和uniq实现两文件的并集,交集和差集
网上转的,不错,比使用awk容易点给定两个文件 a.txt 和 b.txt ,每行是一个记录(假设没有重复),要求输出两集合的交集、并集、差集,输出的结果只包括唯一项。交集定义为同时出现在两个文件中的记录项,并集定义为出现在任何一个文件中的记录项,差集(A-B)定义为出现在A中而且不出现在B中的记录,对称差集定义为只出现在一个文件中的记录。假设 a.txt 包括 a,
2012-09-02 21:31:24
13161
原创 使用shell脚本统计源码文件中的注释行数.(// , /**/)
今天看到一求助帖子再问这个事,所以无聊写了个。用的是awk脚本 , 也就是脚本解释器是用/usr/bin/awk , 而不是/bin/sh但都是脚本 , 如果你想的话,可以用shell脚本调用我这个awk脚本就行了。使用方法:将下面的脚本保存成文件如get-cfile-notes.awk然后chmod 755 get-cfile-notes.awk就可以运行了。注意:因
2012-08-10 20:33:19
4277
转载 linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)
" "(双引号)与 ' '(单引号)的区别 你在shell prompt后面敲打键盘、直到按下enter的时候,你输入的文字就是command line了,然后shell才会以进程方式执行你所提交的命令。但是,你又可知道:你在command line输入的每一个文字,对shell来说,有什么类别之分呢?简单而言,command line的每一个charactor分为如下两种:
2012-08-09 21:37:53
14022
转载 Nagle算法, TCP_CORK,TCP_NODELAY,TCP_DEFER_ACCEPT,TCP_QUICKACK
1. Nagel算法 TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。(一个连接会设置MSS参数,因此,TCP/IP希望每次都能够以MSS尺寸的数据块来发送数据)。Nagle算法就是为了尽可能发送大块数据,避免网络中充斥着许多小数据块。
2012-08-08 14:45:23
2972
转载 linux shell 正则表达式(BREs,EREs,PREs)差异比较
我想各位也和我一样,再linux下使用grep,egrep, awk , sed, vi的搜索时,会经常搞不太清楚,哪此特殊字符得使用转义字符'\' .. 哪些不需要, grep与egrep的差异等等。下面就是我在网上找到的一篇介绍这方面的文章。如下:转载自:http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html
2012-07-30 10:17:16
8172
原创 百度suggestion功能的Trie实现(附代码)
今年的百度实习生笔试题中有个题是:相信大家都使用过百度搜索框的suggestion功能,百度搜索框中的suggestion提示功能如何实现?请给出实现思路和主要的数据结构、算法。有什么优化思路可以使得时间和空间效率最高? 这个题的基础实现方法是使用Trie树, 原理部分摘用别的. (代码部分我增加了findTips功能, 这里采用方法1,空间要求最大 26^n,,若是汉字
2012-07-18 11:38:11
5629
3
原创 linux/unix中的可重入函数与线程安全函数
可重入函数也就是异步信号安全函数,一般是除了使用自己栈上的变量以外不依赖于任何环境的purecode(纯代码)(使用锁是无法解决可重入问题的,因为当出现信号中断的,中断函数里再次调用此函数就会出现死锁!)而线程安全函数,如果使用了静态数据或者全局数据的话,可以用锁来将其变为线程安全的。(但无论怎么样都无法变为可重入函数(或称异步信号安全函数))可重入函数一定是线程安全函数。反之,则不正
2012-06-10 22:07:03
3659
原创 ubuntu 有时使用man xxx查询函数时查不到的解决方法
这是因为man doc不完整导致的。比如我安装ubuntu后,, 学习unix网络编程卷一时, 里面用到pthread_mutexattr_setpshared这个时就使用man 查询不到。搜索了下网上。安装下面二个包,基本上的函数就都可以查到了sudo apt-get install glibc-docsudo apt-get install manpages-pos
2012-06-06 10:08:11
4385
1
原创 android模拟器安装busybox的一个窍门
在网上查了很多android模拟器安装busybox的方法。发现都大同小异都是将busybox安装好,然后要么通过手动的方法:export PATH="/data/busybox:$PATH"将busybox路径加入到PATH中。要么就是通过别人重新编译的rom,使其启动时自己添加这个环境变量路径 。转载请注明出处:http://blog.youkuaiyun.com/fdl19881
2012-05-22 14:24:27
4300
1
转载 程序员技术练级攻略
转载自:http://coolshell.cn/articles/4990.html前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积
2012-05-13 00:11:12
1228
转载 详解UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)
文章转自:http://www.yongfa365.com/Item/UML-Association-Dependency-Aggregation-Composition-Realization-Generalization.html大话设计模式上的一个图,我用EA画出来的:UML中的6大关系相关英文及音标: 依赖关系 depen
2012-05-10 00:30:14
2620
原创 ubuntu11.10下为android模拟器编译内核到为android开发内核模块(.ko文件)全过程纪实
经过1个多星期的努力,终于成功在android模拟器运行了一个netfilter的例子whoVisit.ko首先准备条件:安装git (版本管理软件)android开发环境 (eclipse , jdk , sdk )总之,在这个过程中,他提示你少了什么,那么你就通过sudo apt-get install xxx安装什么 (多用Tab键补全功能)ps:如果你不是太懂这个,请
2012-04-16 21:03:49
7690
2
原创 vfork和fork的区别
两者都是创建一个子进程 但是 :1. 但是 vfork 并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用 exec(或exit),于是也就不会存访该地址空间。不过在子进程调用 e x e c或e x i t之前,它在父进程的空间中运行。这种工作方式在某些 U N I X的页式虚存实现中提高了效率2. vfork和fork之间的另一个区别是: vfork保证子进
2012-04-14 22:35:17
1693
原创 ubuntu 更新时出现校验和不符 的一种解决办法
今天划了70GB,在自己的笔记本上再装个ubuntu 11.04 .刚装完后,我就换成国内的源sjtu , bjtu , 163 这几个源都试了,但总是出现下面的错误:获取:2 http://extras.ubuntu.com oneiric/main i386 Packages [1,226 kB]命中 http://extras.ubuntu.com oneiric/mai
2012-04-07 22:17:33
37746
9
原创 Linux/Unix中的基本系统数据类型
历史上,某些UNIX变量已与某些C数据类型联系在一起,例如,历史上主、次设备号存放在一个16位的短整型中, 8位表示主设备号,另外 8位表示次设备号。但是,很多较大的系统需要用多于 256个值来表示其设备号,于是,就需要有一种不同的技术。(确实, SVR4用32位表示设备号:14位用于主设备号,18位用于次设备号。)头文件中定义了某些与实现有关的数据类型,它们被称之为基本系
2012-04-02 19:17:49
1999
原创 使用shell让其在系统空闲一段时间后自动结束指定进程
(下面有代码)事情起因:学校的上网账号 同一时间只能登一个,, 而实验室和宿舍都得使用这个账号上网所以有时候在离开实验室回去时,会忘记将上网程序退出。导致回宿舍后没法上网, 又得打电话回去让别人帮忙退出。。。所以才有此想法。在windows上我是用的其自带的计划任务的方法:当系统空闲如15分钟时,就执行结束指定进程现在有时候需要使用linux( ubuntu) , 上
2012-04-01 21:25:34
3517
原创 ubuntu shell编程中载入函数或者变量的方法
shell编程中调用别的文件定义的函数或者变量的方法#!/bin/shif [ -r backfunc ] ; then. /home/fef/shell/backfunc #"."后面有个空格,并且backfunc必须使用绝对路径!!else echo "`basename $0` cannot locate backfunc file"fiecho -n "Enter t
2012-03-26 20:34:59
2460
原创 文件使用二进制模式打开情况下的换行的方法
今天用VS2010写个简单的用来记录软件的日志到文件的程序,使用\n原因:对于文件,在windows平台下的换行是LRCR(“\r\n")(针对WINDOWS的记事本工具来说,若用智能些的文本编辑器,就会换行了),, 所以在使用二进制模式打开文件,写入的时候,换行请使用\r\n .而在文本模式下打开文件写入时, 用\n即可以了,(使用ultraEdit查看file1和file2的二进
2012-03-07 01:14:43
3915
原创 我的vim + ctags配置(做个记录, 下次再配置时用)
系统:ubuntu 11.10软件 vim ctags插件:ctags .vim: http://www.vim.org/scripts/script.php?script_id=610code_complete.vim : http://www.vim.org/scripts/script.php?script_id=1764taglist.vim : ht
2012-02-20 14:12:12
6526
转载 Linux中xargs的用法
xargs大多数 Linux 命令都会产生输出:文件列表、字符串列表等。但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件、ascii 文本等);你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给 ls -l 命令以查看时间戳记。xargs 命令就是用来完成此项工作的。他允许你对输出执行其他某些命令。记住下面这个来自于第 1 部分
2012-02-17 23:45:10
1106
原创 ubuntu 使用sh 无法执行脚本文件的解决方法
最近刚开始学习linux shell语言看的是鸟哥的私房菜,里面有讲到执行shell脚本有两种方法:1. 设置执行属性: chmod 755 file执行(如果已经在当前目录) : ./file2. 使用: sh file 执行.但是在vmware里装的ubuntu 11.10却无法执行#!/bin/bashdeclare -i sfor (( i = 1; i
2012-02-16 17:12:54
17067
原创 RTP报文头部分析
RTP报文格式RTP报文由两部分组成:报头和有效载荷。RTP报头格式如下图所示,其中:l V:RTP协议的版本号,占2位,当前协议版本号为2。l P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。l X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。l CC:CSRC计数器,占4位,指示
2012-01-02 14:27:15
25715
原创 vmware workstation 7.1 安装ubuntu 11.10后不出现图形界面的解决方法
我前几天在win7 上装了vmware workstation 7.1后准备在虚拟机上安装ubuntu 11.10 。使用的是easy install方式。安装完后,重启。 但是图形界面没启动, 只出现个全屏的终端界面 。 解决方法: 在终端界面下登陆, 然后输入sudo startx 就行了! 提示的密码仍然是你的账号密码。 其实这是个很基础的命令了, ,
2011-12-23 16:11:33
4475
原创 ipv6地址的分类(关于FE80开头, FEC0开头的IPV6地址等的介绍)
自《IPV6详解》ipv6地址总的来说可分为三大类:单播地址,泛播地址和组播地址 (后面两种网上很多介绍)单播地址还可分为几类:可集聚全球单播地址,链路本地单播地址和站点本地单播地址.见IPV6地址分配表:这样的分配方案支持可集聚地址、本地用地址和组播地址的直接分配,并有保留给 N S A P地址和I P X地址的空间。其余的地址空间留给将来用。可用于已有使
2011-12-21 14:45:16
181476
1
原创 读者写者问题--使用信号量的读者优先与写者优先程序分析
所谓谁谁优先的问题,我认为主要体现在以下两点中:1.当低优先级进程(线程)获得临界区时,高优先级进程能很快从低优先级的进程中抢得访问权。2.当高优先级的进程获得临界区访问权时,低优先级得等到高优先级全部访问完的空闲时间才能抢得访问权。这两点中, 第一点一定得要,不然无法体现出优先的意思 。第二点可以根据程序的需要决定。程序摘自:《操作系统精髓与设计原理》/* p
2011-12-14 17:07:42
13544
原创 找出变量做为左值的全部地方的方法
如果自己通过搜索的方法找的话,程序还比较大的时候,就很麻烦。可能找半天不知道这个变量是在哪改的。比如我在看live555 c++开源代码的时候,播放过程中提示buffSize太小了。因为这个变量是在类里面static unsigned maxSize在他的CPP文件中我将其改大到(200000),但是调试的时候还是提示buf过小(100000,没变??)。然后我就开始在这个cpp中查找
2011-12-13 10:17:26
1026
原创 windows获得本机IPV6地址(网络编程)
本程序可以获得网卡的IPV6地址(如果有)排除tunnel adapter地址(隧道适配器)、环回地址和无法使用的IP代码如下:#include #include #include #include #pragma comment(lib, "IPHLPAPI.lib")#pragma comment(lib, "ws2_32.lib") bool Init
2011-12-05 14:22:15
7713
1
原创 IPV6与char*字符串类型互相转换
使用in6_addr和in_addr转化为字符串类型PCTSTR WSAAPI InetNtop( __in INT Family, __in PVOID pAddr, __out PTSTR pStringBuf, __in size_t StringBufSize);http://msdn.microsoft.com/en-us/library/win
2011-12-05 09:36:17
6697
转载 各种常用字符串Hash函数比较
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对
2011-11-10 11:05:05
995
原创 STL中的for_each调用类成员函数,mem_fun, mem_fun_ref用法
先看一个STL中for_each的用法#include #include #include #include #include using namespace std;class Test{public: Test(int _data = 0):data(_data){} void print(){cout<<"i am class Test"<< data<<en
2011-11-06 10:48:22
6104
原创 永远不要将assert语句里面嵌套执行语句!
调试个播放器发现编成Release版的时候有个功能怎么总是无法起作用.编成Debug版的时候运行的很好呀,最后还一部部的加 afxmessagebox 语句看是否运行到此处.结果发现运行到此处了啊. . .. 最后才想起来里面起作用的语句写成了:assert(OnSize());改成bool bOk = OnSize();assert(bOk);就
2011-11-04 15:29:35
1429
原创 学习opencv ,图像分割中分水岭算法的感性认识及cvWatershed例子
cvWatershed例子:#include#include#includeusing namespace std;IplImage* marker_mask = 0;IplImage* markers = 0;IplImage* img0 = 0, *
2011-09-05 16:01:11
35574
2
原创 对cvMatchContourTree的测试代码(还是没找出关系) , 第八章11题
代码如下:#include #include #include #include #include #include #include #include #include using namespace std;static void imRotat
2011-08-31 21:07:10
2947
1
原创 opencv 对hu不变矩的测试程序cvGetHuMoments,opencv第八章第10题
程序对使用轮廓的hu矩进行测试如下:#include #include #include #include #include #include #include #include #include using namespace std;void
2011-08-31 16:58:15
6441
模拟器专用android kernel2.6 (支持netfilter,ko文件加载与卸载)
2012-04-24
学生成绩管理系统课程设计 C语言
2010-01-10
vmware workstation 6.5 for linux 注册机
2009-07-11
unetbootin 323 for windows
2009-05-20
unetbootin 319 for windows
2009-03-14
dos下访问NTFS分区的工具ntfsdos
2009-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人