自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(56)
  • 资源 (7)
  • 收藏
  • 关注

原创 memcache源码分析系列之二 网络通信及状态变化

memcache的网络通信主要是通过libevent来实现的。

2014-06-30 10:06:15 567

原创 memcache源码分析系列之一 主要功能

memcache使用libevent进行网络通信;memcache内部是多线程的。

2014-06-28 10:14:18 769

转载 memcached源码分析

一个星期时间的工作,不可能对memcache有很深刻的分析.文档本身的目的在于为以后的研究准备一个总结资料.刚接触memcache时,对其设计分 布式的思路感到十分欣喜,因为在中间层以极小的代价实现简单分布式无疑成为一些要求不是很高的分布式应用的一个很好的设计思路,这个特性决定 memcache本身在分布式应用中,单个结点之间是Server相互独立,不会存在同级之间的通信.一个结点拒绝访问,如果没

2014-06-27 15:44:48 478

原创 memcache源码分析系列之四 item内存分配与回收

item *do_item_alloc(char *key, const size_t nkey, const int flags, const rel_time_t exptime, const int nbytes, const uint32_t cur_hv) { uint8_t nsuffix;

2014-06-30 19:06:05 464

原创 memcache源码分析系列之三 conn的state状态转换

状态一共有几种!

2014-06-28 16:28:34 138

原创 memcache源码分析系列三 assoc动态扩容

assoc动态扩容的条件:if (! expanding && hash_items > (hashsize(hashpower) * 3) / 2)

2014-06-28 16:19:43 545

原创 sphinx DebugDump

void CSphIndex_VLN::DebugDumpHitlist ( FILE * fp, const char * sKeyword, bool bID ){ WITH_QWORD ( this, false, Qword, DumpHitlist ( fp, sKeyword, bID ) );}#define WITH_QWORD(INDEX, NO_S

2013-02-02 14:00:20 106

原创 DiskIndexQword_c--getDocNext()

// small bitvector of 256 elements.class CSphSmallBitvec{public: static const int iTOTALBITS = 256;private: typedef unsigned long ELTYPE; static const int iELEMBITS = sizeof ( ELTYPE ) * 8; s

2013-02-01 14:44:25 83

原创 GetMatch

template int ExtRanker_T::GetMatches (){ if ( !m_pRoot ) return 0; int iMatches = 0; const ExtHit_t * pHlist = m_pHitlist; const ExtDoc_t * pDocs = m_pDoclist; // warmup if necessary if (

2013-02-01 00:26:52 488

原创 ExtHit_t到底什么含义呢

/// hit in the streamstruct ExtHit_t{SphDocID_t m_uDocid;Hitpos_t m_uHitpos;WORD m_uQuerypos;WORD m_uNodepos;WORD m_uSpanlen;WORD m_uMatchlen;DWORD m_uWeight;};

2013-02-01 00:03:59 167

原创 template < typename STATE > int ExtRanker_T<STATE>::GetMatches ()之m_tState.Update ( pHlist++ )解析

sph04匹配对应的类为RankerState_ProximityBM25Exact_fndasf// sph04, proximity + exact booststruct RankerState_ProximityBM25Exact_fn{ BYTE m_uLCS[SPH_MAX_FIELDS]; BYTE m_uCurLCS; int m_iExpDelta; DWOR

2013-01-30 00:29:05 136

原创 ExtRanker_T < RankerState_ProximityBM25Exact_fn > ( tXQ, tTermSetup )

需要解决的问题:ExtRanker_T为什么会有关键字信息?以及他的构造函数做了什么?pRanker = new ExtRanker_T ( tXQ, tTermSetup );tXQ其实是一颗关键字的树,里边包含搜索关键字的方法。所以在构造ExtRanker_T的时候,打分排序类就包含了关键字的信息。ExtQwordsHash_t hQwords;pRanker

2013-01-29 00:21:09 151

原创 《sphinx源码分析之搜索》学习

开始ISphRanker * sphCreateRanker ( const XQQuery_t & tXQ, const CSphQuery * pQuery, CSphQueryResult * pResult, const ISphQwordSetup & tTermSetup, const CSphQueryContext & tCtx ){ // shortcut const

2013-01-28 22:53:17 141

原创 vs2003链接错误

TencentWeiboCpp fatal error LNK1104: 无法打开文件“xl_lib_static.lib”工具->选项

2012-02-28 10:42:51 308

原创 MFC 常见错误

1.  error   c2011:"Cobject":"class"type   redefinition 头文件重复包含:#ifndef #define #endif2.  error C2243: 'type cast ' : conversion from 'class CTeacher * ' to 'class CBase * ' exists, but is inaccessib

2011-11-19 21:25:32 195

原创 数组元素或者vector频繁整体移位 函数模板

当我需要频繁地移动整块的数组元素时,我首先想到的两个方法是memmove和STL中的copy算法,但是memmove只适用于字符串,而copy算法则des和source不能重叠。所以我仿照memmove写了一个。#include #include #include

2011-09-03 17:32:50 824

转载 STL bind1st bind2nd详解

转载自:STL bind1st bind2nd详解2010年9月19日 代码疯子 先不要被吓到,其实这两个配接器很简单。首先,他们都在头文件中定义。其次,bind就是绑定的意思,而1st就代表first,2nd就代表second,现在名在可以很快记住了。再

2011-08-30 16:11:06 587

转载 STL中的排序算法一览

STL中有多种排序算法,各有各的适用范围,下面听我一一道来:I、完全排序sort() 首先要隆重推出的当然是最最常用的sort了,sort有两种形式,第一种形式有两个迭代器参数,构成一个前开后闭的区间,按照元素的 less 关系排序;第二种形式多加一个指定排序

2011-08-28 16:58:24 1015

原创 STL之partial_sort排序学习

partial_sort(beg,mid,end)partial_sort(beg,mid,end,comp)对mid-beg个元素进行排序,也就是说,如果migd-beg等于42,则该函数将有序次序中的最小值元素放在序列中的前42个位置。partial_sort完成

2011-08-28 16:43:10 3734

原创 vc6.0 调试 vector

(1)首先我们看下调试vector#include using namespace std;struct A{ int x,y; A(int a = 0,int b = 0):x(a),y(b){}};void main(){ int array[]

2011-08-28 11:32:32 1971 2

转载 STL priority_queue c++用法

priority_queue 调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue  用法相似的 pr

2011-08-28 08:58:00 683

原创 cout 快速输出 数组或者容器 空格或其他符号

通过STL可以快速输出数组或者容器中的元素!利用for_each()#include #include #include using namespace std;void print(char elem){ cout << elem << ' ';}

2011-08-27 22:41:39 1419

原创 STL 堆操作

STL里面的堆操作一般有:make_heap(), push_heap(), pop_heap(), is_heap(), sort_heap()他们的头文件函数是#include algorithm>make_heap()函数原型:void make_h

2011-08-27 22:29:56 1484

原创 关于srandom和random

在vc++中程序中用了srandom()和random(),头文件为stdlib.h,但编译出现错误error C3861: “srandom”: 找不到标识符。  原因是现在vc++编译器的库函数中没有randomize()和random(),分别用srand()和rand

2011-08-26 16:35:50 4273

转载 c++ 3年工作总结 书籍

对3年来学习中书籍的整理、评价,主要为c/c++方面。分数为个人意见,虽然大家都知道,但还是强调下,免得口水。分1-5,5为最高。       格式:英文名-中文名-作者-出版社-个人评价-评分。无译者说明是因为建议看原版。p.s:国产图书要努力,因看过的国产书基本是

2011-08-26 12:00:04 852

转载 STL入门资料

2007.8.2 20:01 作者:cdy201 STL入门教程: 标准模板库(STL)介绍 ★★★★★ 本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂。不失为STL的入门文章,新手不容错过。STL实践指

2011-08-26 11:26:03 548

原创 最小堆 c++源代码

#ifndef _MINHEAP_H#define _MINHEAP_Htemplate class MinHeap //最小堆ADT定义{private: T* heapArray; //存放堆数据的数组 int CurrentSize;

2011-08-26 09:53:31 2359 1

原创 vc6.0 调试 指针 类的指针成员

当我们定义了一个指针并给它分配了一段内存,经常会遇到调试的问题,这时一个相当棘手的问题,现在就看看如何调试指针。现在先看下普通指针: int *p = new int(4); p[0]=4; p[1]=1; p[2]=2; p[3]=3; delete p;

2011-08-25 23:01:47 549

转载 数据结构与算法--北京大学张铭 (课件和视频)迅雷下

原文地址:(课件和视频)迅雷下" style="text-decoration:none; color:rgb(68,112,119)">数据结构与算法--北京大学张铭 (课件和视频)迅雷下作者:rock                  北京大学信息学院2004年《

2011-08-25 15:09:56 4369 2

原创 前序遍历二叉树 中序遍历二叉树 后序遍历二叉树 c++ STL 模板

//前序周游二叉树或其子树templatevoid BinaryTree::PreOrder(BinaryTreeNode* root){ stack* > aStack; BinaryTreeNode* pointer=root; while(!aStack.emp

2011-08-24 20:45:58 857

原创 二叉树的前序遍历 非递归的几种方法

第一种:template void BinaryTree::PreOrderWithoutRecusion(BinaryTreeNode* root)//非递归前序遍历二叉树或其子树{ using std::stack; //使用STL中的stack stac

2011-08-24 20:28:20 431

原创 函数返回值是指针的引用 函数形参是引用

马上要找工作了,复习数据结构的二叉树!所以实现一下,但是在创建二叉树时遇到了一些问题!tree.h#ifndef _TREE_H#define _TREE_H#include #include #include using namespace std;

2011-08-24 15:49:38 1572

原创 'operator <<' is ambiguous的问题

今天在群里,有人遇到了这样的问题!他的程序在vc6.0下遇到的,但相同的程序在05下就没有问题了。(这个问题应该跟编译器的版本有问题,高版本的编译器就能编译通过)开始的程序如下class RationalNumber{ friend ostream& oper

2011-08-23 21:50:27 1787 1

原创 数据结构 循环队列 顺序表实现

1. 当队尾插入元素时,Q.rear++;弹出元素时,Q.front++;2.当队列满时,Q.rear的下一个元素是Q.front;#include using namespace std;#define MAXQSIZE 100typedef int Q

2011-08-22 20:45:26 1133

原创 数据结构 队列源代码

#include #include using namespace std;typedef int SElemType;struct Node{ SElemType data; struct Node* next;};typedef

2011-08-22 17:57:28 1680

原创 数制转换

#include #include #include using namespace std;void conversion(int source,int base){int i=0,j=0;stack s;string number(""

2011-08-22 16:04:30 59

原创 数据结构 栈源代码

#include #include using namespace std;#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef int SElemType;typedef struct{ SE

2011-08-22 15:21:39 790

原创 string类型与常见数据类型之间的转化

1. string -> CStringCString cs;string s("abc");cs.Format("%s",s.c_str());2.string -> const char* string s("abc");const char* c

2011-08-21 12:32:07 467

原创 string.c_str()到底做了什么

string s("abc"); const char* b = s.c_str(); s.append("def"); cout 输出:abcdef本来我想直接使用返回的一个与s内容相同的字符串,但是对s追加东西的时候,b所指向的字符串的内容也改变了。所以我们来看

2011-08-20 23:01:20 7669 1

原创 c++输出变量类型 typeid操作符

#include #include using namespace std;struct A{ int a; int b;};void main(){ A b; b.a = 3; b.b = 4; int a = 4; cout << type

2011-08-20 21:59:10 2611

TCP文件传输 源代码加文档说明

这是我对一个比较好的TCP文件传输的程序的解释及纠错。又给出了纠错后的程序,并通过一个word文档给出这个程序总的思路。

2011-07-23

mfc 最小化到托盘程序源代码

最小化到托盘程序,源代码,视频请看我的其他资源,视频大

2011-07-13

javame图片浏览器

将要显示的图片放到默认的文件系统下,就可查看,其中包括放大,缩小代码,上下键可切换图片,在放大情况下,上下左右移动图片。

2011-05-17

电子老鼠闯迷宫Java源码

电子老鼠闯迷宫 算法分析 java源码 利用贪心算法求解布线和迷宫一类的问题。

2010-05-22

空空如也

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

TA关注的人

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