- 博客(14)
- 资源 (15)
- 收藏
- 关注
转载 P2P网络“自由”穿越NAT的“秘密”
穿越NAT的意义: NAT是为了节省IP地址而设计的,但它隐藏了内网机器的地址,“意外”起到了安全的作用。对外不可见,不透明的内部网络也与互联网的“公平”应用,“相互共享”的思想所不容,尤其是P2P网络中“相互服务”的宗旨,所以穿越NAT,让众多内部网络的机器也参与到P2P网络中的大集体中来,一直是P2P开发者的所希望的。穿越NAT需要借助外部的支持,说白了就是“内外勾结”,骗过NAT。很多P2P网络成功地实现了这一目标,但还是有一些“遗憾”---并非所有的情况下都可以。由于客户端是主动登录P2P网络
2010-11-26 19:29:00 626
原创 vs2005制作安装包和卸载包
<br />一、安装包制作<br /> <br />1. 在现有项目的解决方案中添加新的项目: 右击"解决方案",选择"添加"--"新建项目", 在"添加新项目"的选择窗口中, "项目类型"选"其他项目类型"--"安装和部署","模板"选"安装项目",给新项目指定名称,位置;<br />2. 在新添加的安装项目上右击, 选择"视图"--"文件系统", 右击"目标计算机上的文件系统"作侧的"应用程序文件夹", 选择"添加文件"或者"添加项目输出",将你要安装的文件添加到该位置;<br />3. 初始的安装位置
2010-11-25 16:15:00 4054 1
转载 zlib简单用法
<br /><br />本文的目的是: 简单说明如何把zlib加入到MFC程序中,提供内存压缩功能.<br />1. 如何获得zlib<br />zlib的主页是:http://www.zlib.net/<br />2. 用VC++6.0打开<br />把下载的源代码解压打开,VC6.0的工程已经建好了,在/projects/visualc6. 双击zlib.dsw, 可以在VC++6.0中看到里面有3个工程: zlib 是库文件(编译设置选中 win32 lib debug / release), 工程e
2010-11-22 17:40:00 679
原创 locale
<br />SetLocale设置语言文化 功能等同于在区域语言栏改变区域<br /> <br /> structlconv*localeconv( void);返回locale的详细信息<br />UINT nACP = 0;LCID lcidThread = ::GetThreadLocale();char szACP[7];if (::GetLocaleInfoA(lcidThread, LOCALE_IDEFAULTANSICODEPAGE, szACP, 7) != 0){
2010-11-22 16:28:00 1283
转载 Linux性能测试工具Lmbench
Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。 1、Lmbench的使用与介绍 Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。其官方网站
2010-11-17 13:38:00 1135
转载 内存碎片
<br /><br />内存碎片是一个很棘手的问题。如何分配内存决定着内存碎片是否会、何时会、如何会成为一个问题。<br /> 即使在系统中事实上仍然有许多空闲内存时,内存碎片还会最终导致出现内存用完的情况。一个不断产生内存碎片的系统,不管产生的内存碎片多么小,只要时间足够长,
2010-11-16 18:40:00 470
原创 Structured Exception Handling
<br />Matt Pietrek 著 董岩 译原文:http://www.microsoft.com/msj/0197/exception/exception.aspx 在Win32操作系统提供的所有功能中,使用最广泛而又没有公开的恐怕要数结构化异常处理(Structured Exception Handling,SEH)了。当你考虑Win32结构化异常处理时,也许会想到__try、__finally和__except等术语。可能你在任何一本讲解Win32的好书上都能找到关于SEH较为详细
2010-11-16 18:26:00 656
原创 http服务器断点下载文件
<br />http://www.cnitblog.com/wangk/archive/2005/12/31/5942.aspx
2010-11-15 22:26:00 542
原创 在redhat图形界面与控制台的切换
<br />如果是vm里,按着ctrl+alt保持不放,然后先按一下空格,放开空格再按一下F1,切回来ctrl+alt保持不放,然后先按一下空格再按F7
2010-11-11 23:31:00 2580
原创 BJAM编译工具的使用(一)——如何编译Boost,最新boost编译方法
约定:boost安装路径 d:/dev/boost_1_39_0 boost编译步骤 到d:/dev/boost_1_39_0/tools/jam/目录下,运行bootstrap.bat,编译bjam并 拷贝至c:/windows目录下。或直接到boost下载站点下载bjam可执行文件(或者运行/boost_1_34_1/tools/jam/src目录下的build.bat批处理文件,将新生成在/boost_1_34_1/tools/jam/src/bin.ntx86目录下的bj
2010-11-07 23:48:00 12657
转载 boost::lambda的实现模拟
boost::lambda的实现模拟//boost::lambda的实现模拟,只实现了加法和乘法。其他的可以继续扩充,不过lambda已经实现的很不错了#include #include using namespace std;#define dim(x ) ( sizeof(x)/sizeof(x[0]) )templatestruct add_action{ Type add_data; add_action(Type x):add_data(x){}; templ
2010-11-05 00:02:00 838
转载 浅析C++ Compile-time Assertion技术
<br />http://www.cppblog.com/nacci/archive/2005/11/07/969.aspx<br /><br />Posted on 2005-11-07 23:10 nacci 阅读(1354) 评论(3) 编辑 收藏引用 所属分类: C++漫谈<br />你可能经常需要利用运行时断言技术,它可以方便地测试前提条件。但是,随着Metaprogramming概念的出现,编译时断言技术也已经和runtime assertion一样的普遍了。如何在编译时进行断言呢?其实,方法
2010-11-03 13:04:00 579
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人