03 2013 档案
摘要:一、Libevent简介 libevent是一个基于事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。官网:http://libevent.org/特点:事件驱动,高性能;轻量级,专注于网络,不如ACE那么臃肿...
阅读全文
摘要:wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;(2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;(3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;(4)设置方便简单;可能,习惯图形界面的用户已经
阅读全文
摘要:inux zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件;-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;3.其他zip -d myfile.zip smart.txt删除压缩文件中smart.txt文件zip -m myfile.zip ./rpm_info.txt向压缩文件中myfil
阅读全文
摘要:.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName———————————————.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩
阅读全文
摘要:Jeff Dean , 一位著名的 Google 工程师, 推出了一个 每个人都必须知道的数字的潜在数字列表。这个列表对设计大型基础架构的系统是一个巨大的资源。算法及其复杂性总是会在计算机系统的关键部分出现,但我发现很少有工程师对一个O(n!)级算法相较一个 O(n5) 算法会怎样有很好的理解。在编...
阅读全文
摘要:通过例子讲解python是最好的办法,利于学习,利于记忆,做好笔记string.replace(str, old, new[, maxreplace])import strings='123456789123'print s#替换算法 string.replace(s, old, new, maxreplace)print string.replace(s, '123', '*****')print string.replace(s, '123', '*****',1)print s.replace('12
阅读全文
摘要:hashlib是个专门提供hash算法的库,现在里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单、方便。 md5经常用来做用户密码的存储。而sha1则经常用作数字签名使用Python进行文件Hash计算有两点必须要注意:1、文件打开方式一定要是二进制方式,既打开文件时使用b模式,否则Hash计算是基于文本的那将得到错误的文件Hash(网上看到有人说遇到Python的Hash计算错误在大多是由于这个原因造成的)。2、对于MD5如果需要16位(bytes)的值那么调用对象的digest()而hexdigest()默认是32位(bytes),同
阅读全文
摘要:在看libevent源码中TAILQ的时候发现了一些让我迷惑的地方,就是里面的双端队列以及链表中节点的next与prev指针,它的设计与我们一般的链表以及linux内核的list完全不一样,因为里面的prev根本不是指向前一个节点,而是指向前一个节点的next元素的地址:#define TAILQ_HEAD(name, type) \struct name { \ struct type *tqh_first; /* first element */ \...
阅读全文
摘要:libevent自己是不提供在线下载的文档的,用户可以自己去http://libevent.org/在线查看,如最新的文档是2.0.15:http://www.wangafu.net/~nickm/libevent-2.0/doxygen/html/ 但是,在线文档毕竟没有离线的看起来舒服和方便,下面我教大家如何制作自己的离线document,以后的每个版本就可以自己制作省的去问google和baidu了: 一、工具准备 1. 首先下载下你要制作的那个版本对应的lievent源代码,现在最新的是2.0.15,ok,那我们就做个这个版本的文档吧,去下载: https://github.com/d
阅读全文
摘要:1. 数据类型:在开发过程中,无论哪种平台,只使用最通用的数据类型char,unsigned char,int,unsigned int,void *以及它们组合的结构体类型。对于数据长度敏感的代码,则只使用下面的数据类型: Common Win32 Linuxint8INT8int8_tuint8UINT8uint8_tint16INT16int16_tuint16UINT16uint16_tint32INT32int32_tuint32UINT32uint32_tint64INT64int64_tuint64UINT64uint64_t在VS.Net 2008的项目中,使用多字节字符集,对
阅读全文
摘要:在Windows上编写代码的时候,都应该使用Unicode,但是往往在项目中,总会遇到一些 不方便的地方,例如,读写磁盘,加密等等。因此,以下给出2个函数,用于多字节与宽自己的转换,主要使用Windows提供的 WideCharToMultiByte与MultiByteToWideChar函数。123456789101112131415// 将Unicode字符串转换为Ansicode字符串void ConvertUnicodeToAnsi(wchar_t* source, char* dest){ int len = 0; len = WideCharToMultiByte(CP...
阅读全文
摘要:C++获得计算机网卡MAC地址,以下程序采用静态加载的办法来实现的,建议在实际项目中,动态加载iphlpapi.dll,来实现获得网卡MAC地址,因为不是每台计算机都有iphlpapi.dll这个问题的,如果是静态加载的话,就可能直接报错。代码如下:#include <stdio.h>#include <Windows.h>#include <iphlpapi.h>#pragma comment(lib, "iphlpapi.lib")void main(){ IP_ADAPTER_INFO adapter[5]; DWORD bufle
阅读全文
摘要:#include <stdio.h>#include <stdlib.h>#include <memory.h>#define POLY 0x04C11DB7Lunsigned long get_sum_poly( unsigned char top_byte ){ /// sum all the polys at various offsets unsigned long sum_poly = top_byte << 24; for( int j = 0; j < 8; ++ j ) { /// check the top bit if(
阅读全文
摘要:uuid库是一个小的使用工具,可以表示和生成UUIDUUID是University Unique Identifier的缩写,它是一个128位的数字(16字节),不需要有一个中央认证机构就可以创建全国唯一的标示符。别名:GUIDuuid位于名字空间boost::uuisd,没有集中的头文件,把功能分散在了若干小文件中,因此为了使用uuid组件,需要包含数个头文件,即:#include <boost/uuid/uuid.hpp>#include <boost/uuid/uuid_generators.hpp>#include <boost/uuid/uuid_io.
阅读全文
摘要:1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。1.用YUM安装软件包命令:yum install2.用YUM删除软件包命令:yum remove2.用yum查询想安装的软件我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但
阅读全文
摘要:下面是一个免费的全球IP地址数据库,包括了国家,城市,地区,和经纬度,以便你可以利用Google Map在地图上标注。这个数据库的精确度可能有60%左右。SQL format更新至2009年3月11日CSV format (多文件)更新至2009年3月11日下面是怎么使用这个数据库。首先,所有的IP地址都是按一个整形来存放的,假设一个IP地址为A.B.C.D,那么其计算公式如下所示:ip = (A*256+B)*256+C也就是说,它只计算到网段为:A.B.C.0到A.B.C.255。例如:我们有一个IP地址为:74.125.45.100 (google.com),那么,ip = (74*25
阅读全文
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fendou929.blog.51cto.com/3021076/1152469 先来看看ARP病毒是怎么回事。简单的说就是:这种病毒自身可以伪造一些ARP回应包。这些包的源IP地址一般是重要设备的IP地址,而那个源MAC地址可能是自己的MAC,也可能是一个无用的MAC地址。而目的IP地址和目的MAC地址都是广播地址,这样的话,这个新的ARP条目就会发送到网络中的任何一个设备中。然后,这些设备就会更新自己的ARP缓存,这样一来呢,就达到欺骗的效果了。以后我们的机器在往重要的设备
阅读全文
摘要://使用标准C语言的time函数,可以满足一般性需要#include <time.h>#include <stdio.h>int main( void ){time_t t = time( 0 );char tmp[64];strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) );puts( tmp );return 0;}//GetLocalTime获取当前系统时间,精确到微妙级#include <windows.h>#include <s
阅读全文
摘要:ListCtrl在工作中,常常用到,也常常看到大家发帖问怎么用这个控件,故总结了一下自己的使用经验,以供参考使用。 先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象,然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用。其次,我们这里用条款一,条款二来描述第一点,第二点,这个是参照《Effective C++》的叫法,俺觉得这么叫比较COOL :) 条款一:设置ListCtrl的风格 在CSDN上常常看到有人问怎么设置风格的,他们ListCtrl的样子是一个列表,有横条和竖条分界线,然后选.
阅读全文
摘要:仔细看了看DNS协议的相关东西,其实实际编程的时候根本用不到DNS 细节的东西,要获取域名的时候经终端下用host或者nslookup指令就可以,在c里面使用gethostbyname或者getaddrinfo都 能很轻松得将dns域名解析为ip地址,写这个纯粹出于个人兴趣,或者说是闲得吧。在进行域名解析的时候,解析程序向域名服务器发起请求,域名服务器也就是在操作系统网络配置的时候写进去的那个DNS服务器地址,或者也有可能是由 ISP提供的自动获取的,原理都一样,域名服务器收到请求后进行处理,首先在本地缓存中查找对应的域名,找到后将IP地址直接返回,找不到就向其它的授权 服务器请求数据,又可以
阅读全文

浙公网安备 33010602011771号