- 博客(321)
- 资源 (8)
- 收藏
- 关注
转载 Windows Alternate Data Streams
http://www.bleepingcomputer.com/tutorials/windows-alternate-data-streams/IntroductionAnyone who is in the security arena should know about Windows Alternate Data Streams, otherwise known as ADS.
2012-07-10 10:59:38
1236
转载 那些应该时刻牢记的事
http://heikezhi.com/2012/05/01/5-things-you-should-always-remember/Bronnie Ware是澳大利亚的一位做过多年临终护理的护士,她的病人都是那些不久于人世,并选择在家中度过他们最后岁月的人,这让她能够有机会和他们共度人生最后两三个月的这段特殊时光。几乎每个病人都会经历这样的感情波动,拒绝接受,恐惧,生气,懊悔
2012-06-15 16:17:05
506
转载 使用 Boost 的 IPC 和 MPI 库进行并发编程
http://www.ibm.com/developerworks/cn/aix/library/au-concurrent_boost/使用非常流行的 Boost 库进行并发编程非常有意思。Boost 有几个用于并发编程领域的库:Interprocess (IPC) 库用于实现共享内存、内存映射的 I/O 和消息队列;Thread 库用于实现可移植的多线程;Message Passi
2012-06-12 11:32:35
2402
转载 WinMain - application entry point(windows图形编程入门)
介绍Windows图形编程流程,通俗易懂,于是就转过来了。http://www.toymaker.info/Games/html/winmain.htmlThe WinMain function is the entry point of the application. When a user double clicks on your executable Windows carr
2012-06-05 14:26:18
784
原创 关于Transfer-Encoding: chunked类型的数据的解析
最近在写一个http文件下载模块,其中需要解析Transfer-Encoding: chunked类型的数据,找了一些相关的资料。http://blog.csdn.net/zhangboyj/article/details/6236780http://hi.baidu.com/ah__fu/blog/item/c3d47b2f0bcd65301e30891e.html自
2012-05-31 16:31:07
6827
原创 udp打洞过程
现实环境:有两个客户端甲、乙需要通信,它们处于两个不同的子网。解决方案:udp打洞(一般路由器都支持)解决过程:1、准备一台服务器,放在公网上,与客户端甲和乙通信,记录客户端甲和乙的Ip和端口信息,这些IP和端口并非甲和乙在内网的IP和端口,而是通过NAT方式映射到路由器上的IP和端口。2、客户端甲向服务器发送udp消息,请求和客户端乙通信。3、服务器向客户端甲发送消息,消息内
2012-05-23 10:51:22
1433
转载 nginx中的内存池
http://www.cnblogs.com/sld666666/archive/2010/06/27/1766255.html1.为什么需要内存池 为什么需要内存池?a. 在大量的小块内存的申请和释放的时候,能更快地进行内存分配(对比malloc和free)b.减少内存碎片,防止内存泄露。2.内存池的原理 内存池的原理非常简单,用申
2012-05-21 16:05:15
3182
原创 关于博客
其实总想写一点原创的技术文章,但一直无法提笔,虽然一直在学一些新东西。原因有二,一是因为网上前辈的文章太多了,而且写的实在是好,浅显易懂,文笔流畅,于是往往转载过来了;二是自己技术水平不够,往往一个问题研究得不够深,只知道如何解决而不知道为什么这么做。路漫漫其修远兮,吾将上下而求索。我得百分比努力,争取多写一点原创文章吧。
2012-05-15 15:34:02
565
转载 Linux进程线程学习笔记 系列转
http://www.cnblogs.com/zhouyinhui/archive/2010/09/01/1814954.html“进程”二字似乎总有那么些“只可意会不可言传”的韵味,维基百科是这样来解释的:进程(英语:Process,台湾译作行程)是计算机中已运行程序的物理。进程本身不会运行,是线程的容器。程序本身只是指令的集合,进程才是程序(那些指令)的真正运行。若干进程有
2012-05-15 15:25:15
505
转载 LIB和DLL的区别与使用
http://www.cppblog.com/amazon/archive/2011/01/01/95318.html共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库sta
2012-05-15 11:36:13
430
转载 UNIX IO---再谈文件描述符
http://keren.blog.51cto.com/720558/170822在C程序中,文件由文件指针或者文件描述符表示。ISO C的标准I/0库函数(fopen, fclose, fread, fwrite, fscanf, fprintf等)使用文件指针,UNIX的I/O函数(open, close, read, write, ioctl)使用文件描述符。下面重点来说下,文件
2012-05-14 19:03:53
443
转载 沙县小吃-国家最高机密
http://tales.group.iteye.com/group/topic/25901“战争结束了。”沙县小吃的老板叼着一根烟,一屁股坐在我的面前,眼神飘忽。一口烟从他口中爬出来。 我感到不快。 当时我要了一笼包子,一个大份馄饨,吃的很开心,准备再要一只鸡腿,其实我更想吃大排套餐里的大排,但是不知道那个是否能单卖,我正在心中酝酿措辞。这个中年人一屁股坐在我的面前,一个单独吃饭吃的
2012-05-03 17:40:34
2653
转载 gcc动态链接库基本知识
一、GNU gcc的编译工具用法我们先来写一个简单的C程序:hello.c 1. #include 2. 3. void print_hello() { 4. printf("Hello World\n"); 5. } 6. 7. int main(int argc, char argv[]) { 8. print_hello();
2012-04-20 10:41:32
713
转载 eclipse+cdt+gcc 程序调用动态链接库
ldconfig的用法原文地址:[url]http://hi.baidu.com/thinkingdeeply/blog/item/2fe54d8bad747f17c9fc7a3b.html[/url]作者的注释比较好 ldconfig creates the necessary links and cache to the most recent shar
2012-04-20 10:24:57
3757
转载 signal(SIGPIPE,SIG_IGN)问题
http://blog.csdn.net/itegel84/article/details/5798743 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据 时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的默认处理规则SIGPIPE信号的默认执行动作是termi
2012-04-19 18:53:06
1410
转载 Linux 系统错误码及其说明
#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH 3 /* No such process */#define EINTR 4 /* Interrupted system call */#defi
2012-04-19 18:46:11
1769
转载 SGI STL的内存分配器
http://blog.csdn.net/arrow_pig/article/details/6123231我在这里枉自揣测一下SGI版本的STL在内存分配时的意图吧,SGI的内存分配器一共有两级,二级分配器用于分配小于等于128字节的内存块,如果申请的内存区块大于128字节,就自动使用一级分配器分配。所以说真正问系统要内存资源的动作全部通过一级分配器,一级分配器是malloc的一个封
2012-04-13 15:18:11
1639
2
原创 c++ 中 设计一个线程安全的map
最近在写一个底层网络模块,由于同时有上万个连接,因此得设计一个保证线程安全且性能不错的map。这时候我特别怀念java,它有一个线程安全的容器库,而C++不知为什么一直没有,只好自己设计一个了。由于有数十万个连接,因此ConcurrentMap内部必须分多个map来保存数据,比如说每个子map负责两万个连接,当连接数超过两万个时,ConcurrentMap内部必须创建另外一个子map和互斥
2012-03-29 10:57:55
9215
转载 关闭TCP连接的学问
http://blog.csdn.net/wjtxt/article/details/6598925从TCP协议角度来看,一个已建立的TCP连接有两种关闭方式,一种是正常关闭,即四次挥手关闭连接;还有一种则是异常关闭,我们通常称之为连接重置(RESET)。 首先说一下正常关闭时四次挥手的状态变迁,关闭连接的主动方状态变迁是FIN_WAIT_1->FIN_WAIT_
2012-03-21 20:25:55
597
原创 TCP为什么叫做流协议
最近在写一个TCP网络模块,学到了不少东西。 客户端发送字节流时,TCP会保证服务端按顺序接收到全部的字节流,其他诸如数据包的大小等,TCP协议对我们来说是透明的,我们可以全部不考虑。 通俗点说,我们发送数据只需要调用send函数,我们只需要关注send函数的返回值,从而知道了发送了多少个字节,在服务端,我们调用recv函数,我们只需要关注recv函数的返回值,从而知道接收了多
2012-03-21 17:33:40
4236
转载 两道算法面试题
http://topic.csdn.net/u/20120313/10/8feef8d4-6cd6-41a4-8955-a1bf7f9734b8.html1、有81个选手,9个赛道,要求选出前4名。需要多少场?分9组先跑9场小组赛,再用9个第1跑1场决赛,共10场,此时可以确定的只有第1名。那么2至4名有可能是谁呢?特殊情况下,有可能1-4名都被分到了同一组,并且在小组赛里,2
2012-03-19 15:04:16
577
转载 socket编程遇到的一些函数错误及技巧
http://blog.chinaunix.net/uid-25885064-id-3067050.html(一)发送时 当客户通过Socket提供的send函数发送大的数据包时,就可能返回一个EGGAIN的错误。该错误产生的原因是由于send 函数中的size变量大小超过了tcp_sendspace的值。tcp_sendspace定义了应用在调用send之前能够在kernel中缓存
2012-03-15 19:27:37
1206
转载 select模式 fd_set 等函数或宏释疑
http://www.cnblogs.com/Christine/archive/2012/03/07/2383392.html注:网络编程 用c写socketselect()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作:
2012-03-12 18:05:03
1075
转载 linux线程数据及信号量详解
http://fanqiang.chinaunix.net/a4/b8/20010811/0905001105.html4.1 线程数据 在单线程的程序里,有两种基本的数据:全局变量和局部变量。但在多线程程序里,还有第三种数据类型:线程数据(TSD: Thread-Specific Data)。它和全局变量很象,在线程内部,各个函数可以象使用全局变量一样调用它,但它对线程
2012-03-05 17:10:25
653
转载 epoll_create, epoll_ctl和epoll_wait 函数用法实例讲解,总结得不错
http://apps.hi.baidu.com/share/detail/31300135NAME epoll - I/O event notification facilitySYNOPSIS #include DEscrīptION epoll is a variant of poll(2) that can be us
2012-03-05 15:09:10
7469
转载 讲Linux下面线程的操作、多线程的同步和互斥相关函数及操作的文章链接
Linux多线程编程(不限Linux)http://www.cnblogs.com/skynet/archive/2010/10/30/1865267.htmlLinux多线程编程详细解析----条件变量 pthread_cond_thttp://blog.csdn.net/sunboy_2050/article/details/6031723pthre
2012-03-05 11:25:08
1009
转载 虚拟机centos中开启ftp服务与windows共享文件操作命令
cd /etc/vsftpd/cp vsftpd.conf vsftpd.conf.bakvim vsftpd.conf 修改权限开启ACSII上传下载传输模式ascii_download_enable=YES //开启了下载时的ASCII模式数据传输ascii_upload_enable=YES //开启了上传时的ASCII模式数据传输vim user_
2012-03-05 09:20:27
3197
转载 epoll服务端与客户端代码实例(复制即用)
服务端:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXBUF 102
2012-03-02 14:39:31
3966
转载 虚拟机centosmysql通信问题及eclipse环境配置问题
在vmware安装centos之后,配置mysql通信时,要关掉windows防火墙和centos自带的防火墙,进入mysql命令行,执行命令: grant all on *.* to 'root'@'ip' identified by'password';这样就可以允许其他机器访问MySQL了。在eclipse中运行c++,遇到unresolved inclusion错误,解决办
2012-03-02 13:11:54
668
转载 开发一个检测钩子程序的工具
一、引言 Windows系统是建立在事件驱动的机制上的,每一个事件就是一个消息,每个运行中的程序,也就是所谓的进程,都维护者一个或多个消息队列,消息队列的个数取决于进程内包含的线程的个数。由于一个进程至少要拥有一个线程,所以进程至少要有一个消息队列。虽然Windows系统的消
2011-10-13 17:36:37
1085
转载 python文件操作(遍历所有文件)
Python有多种方法可以遍历文件 直接的 API如:os.walk,os.path.walk 也可以通过os.listdir()然后循环遍历 os.walk方法需要理解一下其返回值 返回一个大概如 [('C://",['System','Program','W
2011-09-29 17:37:47
6306
转载 concurrent包 线程池、资源封锁和队列、ReentrantReadWriteLock介绍
jdk1.5后,提供了java.util.concurrent包,它可以实现线程池,你把线程当成普通对象就可以了,它来负责调度和执行包括两类线程池固定线程池可变线程池延迟线程池 固定线程池public static Exec
2011-09-29 10:46:17
788
转载 在Timer和ScheduledExecutorService间决择
java.util.Timer计时器有管理任务延迟执行("如1000ms后执行任务")以及周期性执行("如每500ms执行一次该任务")。但是,Timer存在一些缺陷,因此你应该考虑使用ScheduledThreadPoolExecutor作为代替品,Timer对调度的支持是基于
2011-09-29 10:09:39
1125
转载 C++重载箭头操作符的理解【转】
今天看《C++ Primer》的成员访问操作符。看重载箭头操作符部分,刚开始有点迷茫,看了两遍总算有点理解,把心得写在这,与各位分享,如果有错误欢迎指正。箭头操作符(->)的通常用法是,使用一个类对象的指针来调用该指针所指对象的成员。左操作数为对象指针,右操作数为该对象的成员
2011-09-27 09:53:07
652
转载 主题:谷歌的一道面试题,请大家集思广益
是有关算法的 如果有一个等差数组,然后对这个数组里面的每个元素做如下操作 1. 如果这个元素是偶数,除以2, 然后得到的数字再分析是否是偶数,如果还是,继续除2,一直除到是奇数, 2. 如果这个元素是奇数,那么就保持原样 这样就得到了另外一个数组, 现在要求根
2011-09-20 15:10:35
698
转载 阿里云的笔试(C++方向)
1、有一个size1000的ector,删除其中的第5,6,7号元素,要求效率高2、数列L中有n个整数,其中K个数字出现了两次,1个数字出现了一次,所以n=2k+1;请在使用O(1)空间的前提下,尽快找出只出现一次的那个数字,并说明算法的复杂度。3、有一个文件,存
2011-09-20 09:30:45
2592
转载 Java远程方法调用(RMI)(转)
Java与.NET都提供了远程处理功能,但不完全相同.Java远程处理是通过一个“共享接口”实现的,而.NET可以通过一个“共享命令集”实现。下面就这两种方式来具体说明。 Java 远程处理 Java远程方法调用(RMI)提供了Java程序语言的远程通
2011-09-13 15:56:22
695
转载 JSP内置九个对象;pageContext对象;JSP的7个动作指令
http://adminsun.iteye.com/blog/537469JSP脚本中包含9个内置对象,这9个内置对象都是Servlet API接口的实例,只是JSP规范将它们完成了默认初始化(由JSP页面对应Servlet的_jspService()方法来创建这
2011-09-06 17:06:31
1938
原创 怎样从顶部开始逐层打印二叉树结点数据?蛋疼解法
// printBTTree.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;typedef struct _BTNode
2011-09-06 15:41:48
1140
tcmalloc 安装包
2012-04-17
tcmalloc 源代码工程
2012-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅