51CTO博客开发
针对 上一文中提出的问题,这一次就进行解答:由rehash过程可以看出,在rehash过程中,ht[0]和ht[1]同时具有条目,即字典中的所有条目分布在ht[0]和ht[1]中,这时麻烦也就出来了。主要有以下问题:(现在暂不解答是如何解决的)1.如何查找key。2.如何插入新的key。3.如何删除一个key。4.如何确保rehash过程不断插入、删除条目,而rehash没有出错。5.如何遍历di
在我刚安装好的centos上安装nginx。我采用下载nginx的源代码进行编码安装。安装时会出错,主要是缺少一些库,或是虽然有些库已经安装,但不是开发版的缺少相应模块。1、下载nginx,并解压,进入nginx目录后,运行./configure --with-http_stub_status_module --prefix=/usr/local/nginx其中: --pre
我用vbox安装centos 6.8 的 minimal.iso 后,没有网络配置,需要手工配置网络。1、在vbox的centos配置中,选择网络模式。我选 桥模式,选择桥模式,网络接口与你主机的网络接口同等,可以配置成同一网段,这样你的主机和虚拟机之间可以自由访问,并且局域网内的其他主机也可以与虚拟机通信。2、启动centos虚拟机,执行ls /etc/sysconfig/network-scr
用ports进行下载时,默认会配有下载源,但有时下载源连不上时,需要自行个性下载源。配置文件在:/etc/make.confMASTER_SITE_OVERRIDE?=\ http://ports.hshh.org/${DIST_SUBDIR}/\ http://ports.cn.freebsd.org/${DIST_SUBDIR}/\ ftp://ftp.freeBSD.org/pub/Free
最近,我想通过redis的源码来学习redis。虽然平时工作中用得不多,不过对redis还是比较感兴趣的,毕竟它的性能是不错的。redis是一个 开源的项目,我们可以通过源代码去了解redis。我后面会通过自己的学习,写一些关于redis源码的帖子。帖子的主要内容是分析代码设计,而并不会对 源码进行详细解说。如果有不对的地方,请指正。源码是reids 3.0.3版本。dict 字典一、数据结构//
最近,我想通过redis的源码来学习redis。虽然平时工作中用得不多,不过对redis还是比较感兴趣的,毕竟它的性能是不错的。redis是一个开源的项目,我们可以通过源代码去了解redis。我后面会通过自己的学习,写一些关于redis源码的帖子。帖子的主要内容是分析代码设计,而并不会对源码进行详细解说。如果有不对的地方,请指正。源码是reids 3.0.3版本。adlist一、adlist,双链
最近,我想通过redis的源码来学习redis。虽然平时工作中用得不多,不过对redis还是比较感兴趣的,毕竟它的性能是不错的。redis是一个开源的项目,我们可以通过源代码去了解redis。我后面会通过自己的学习,写一些关于redis源码的帖子。帖子的主要内容是分析代码设计,而并不会对源码进行详细解说。如果有不对的地方,请指正。源码是reids 3.0.3版本。intset一、intset数据结
最近,我想通过redis的源码来学习redis。虽然平时工作中用得不多,不过对redis还是比较感兴趣的,毕竟它的性能是不错的。redis是一个开源的项目,我们可以通过源代码去了解redis。我后面会通过自己的学习,写一些关于redis源码的帖子。帖子的主要内容是分析代码设计,而并不会对源码进行详细解说。如果有不对的地方,请指正。源码是reids 3.0.3版本。sds一、redis的字符串 sd
mmseg 分词,2016-03-24http://technology.chtsai.org/mmseg/
本文简单介绍core文件与gdb调试core文件的方法概要: 1. core 文件 2. 配置core程序崩溃时产生文件 3. 可修改core文件名 4. 产生core文件的情形 5. gdb调试core文件 &
exFatwindows 8 和 mac 都支持 exFat。NTFS只适用于windows,mac不支持,安装插件也不方便。网上有教程说新的mac系统可能通过配置,支持NTFS,但我的系统无法配置。HFS, mac 是可以使用的,但windows就不行。FAT mac 和 windows 都支持,但单文件最大只支持4G,并且对于1T的移动硬盘,支持也不好。—————————————我电脑的是ma
在电脑里,安装了FreeBSD的虚拟机器,并且想通过nfs来实现主机与虚拟机之间共享目录。共享的目的是我希望在主机上可以读写FreeBSD上的文件、创建文件,并在FreeBSD上进行编译。在网上搜索教程和在FreeBSD的手册中,都看到需要进行大致配置,如下:在 /etc/rc.conf 中增加如下配置:nfs_server_enable="YES"nfs_server_flags="-u -t
最近在centos下编译一个程序时,出现了一个问题,大致如下:编译 a.cpp b.cpp c.cpp,其中a.cpp中含有main函数,a.cpp调用b.cpp所定义类的方法,而b.cpp里调用 c.cpp中的类的方法。生成 a.o b.o c.o 文件,最后链接生成可执行程序 test ,成功。编译命令大致是这样的: g++ -Wall -g -I../include -o test
文章主要是本人的认识,介绍也不全面,则重于流程,用词方面也不讲究,很多观点也比较粗糙,有错误的地方,请多多指正。文章主要参考《深入分析linux内核源码》关于中断的章节:http://oss.org.cn/kernel-book/中断是计算机系统的一种机制,主要有两种作用:实现异步。紧急处理某一过程。 由于CPU与外设的运行速率相差较大,且CPU资源比较重要,如果采用同步
这里就说一说本人的工作经历。纯属流水文章,长而枯燥。 从去年(2013年)3月份开始,那时还没有毕业,就进入了一家网络设备的公司工作,从事路由方面的开发,主要是负责开发路由的功能模块。我的上司(WMM)就是负责公司路由方面的主要开发,在我进来之前,应该是唯一路由开发,公司的路由系统也就是他开发的。在从事路由开发方面,也
声明:本人知识有限,文章可能有误或不全面,望指正并讨论!最简单的C语言程序,应该就是一个main函数,而main里什么也不做了。如下:C文件main.c:int main() { return 0; }在 unix/linux下编译,后生成可执行程序main,并执行main:# cc -Wall -o
栈是一种常见的数据结构,主要特点是“后进先出”。以下是用C语言实现的简单的栈。头文件 stack.h ,定义栈的结构体和相关的操作:#ifndef STACK_H #define STACK_H enum { STACK_OK = 0, STACK_OVERFLOW, STACK_ERROR, }; ty
问题:给定整数序列S[0],S[1],... S[N-1],子序列和是指S[i]+S[i+1]+...+S[j-2]+S[j-1],其中i,j, 0<= i <= j <= N-1,求所有这样的子序列和的最大值,即最大子序列和。方法一:枚举法 O(N^2)求出所有的子序列和,取其最大值。算法复杂度为O(N^2)。int maxSubSeq1(int
二分查找#include <stdio.h> int bsearch1(const int a[], int len, int target) { int left, right, middle; if (len <= 0)
逆转单向链表#include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *next; }; void list_reverse(struct Node **head) { str
#include <stdio.h> #include <string.h> char *reverse(char *str) { int i, j; for (i = 0, j
逆转字符串#include <stdio.h> #include <string.h> char *reverse(char *str) { int i, j; for (i = 0, j = strlen(str) - 1;&n
本文主要摘录于 Open-Network Foundation 的文档《Software-Defined Networking: The New Norm for Network》,如有错误,请指明,谢谢!今天阅读了SDN的相关文档,对SDN有了初步的发解。所以摘录主要内容以分享。软件定义网络 Software-Defined Networking (SDN)传统网络架构中,把控制逻辑和数据面合并
本文为笔者原创,如果错误,请指明,谢谢!在查看 FreeBSD 和 linux 系统代码时,不难发现其中会出现很多的宏定义,它们中包含了多条语句。为确保语句被完整执行,会使用 do { ... } while(0) 来包含所有要执行的语句。如:#define MYPRINT(a, b)
本文参考《程序员面试宝典》,如有错误,请指明!谢谢!交换两个变量的值的函数,我们通常命名为swap。1、最常用的方法是用借用临时变量,如下:void swap(T *a, T *b){ T temp = *a; *a = *b; *b = *a;}这种方法中,T的类型可以是很多种,基本上只要支持上面的赋值操作或复制构造函
本文内容摘自《Unix高级环境编程》第二版,如有错误,请指明,谢谢!同时本文参考FreeBSD的sys/types.h文件对基本系统数据类型作进一步了解。Unix系统的sys/types.h文件定义了某些与实现相关的数据类型,称为基本系统数据类型(primitive system data type)。这些数据类型都是用C的typedef来定义,并且都是大多数都是以_t结尾的。下面将列出部分基本系
本文内容摘自《Unix高级环境编程》第二版,如有错误,请指明,谢谢!Unix标准化:1、ISO C2、IEEE POSIX 可移植的操作系统接口3、Single Unix Specification 单一Unix规范,此标准是对 POSIX.1的扩展。4、FIPS 联邦信息处理标准,此标准对Unix的影响逐渐减小。Unix系统实现:1、SVR42、4.4BSD3、FreeBSD、NetBSD、Op
/* 包含头文件*/#include <unistd.h>fork(), 用于创建子进程。如果成功,创建一个新进程并返回新进程的进程ID(给父进程)和0(給子进程),如果不成功,则返回-1给父进程。示例: pid_t pid = fork();其中pid_t实际上为int类型。成功执行后,在父进程中,pid为所创建的子进程号;在子进程中,则为0。创建出来的子进程和父进程几乎一
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号