自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fuck The C++

一个学习Linux的PHPer

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

原创 线段Hash算法(原创)

线段Hash算法原理是:通过Hash算法把Key转换成一个int类型的数字,然后按照每次比较2个bit来定位到一个内存块。结构图如图1-1: 图1-1 图1-1中的每个节点成为bucket,而每个bucket有4个元素。我们可以使用

2011-08-31 13:07:19 1374

原创 一种高效的外部索引算法

增量hash算法B+树是一种效率非常高的外存索引算法,但是B+树实现比较复杂。而使用hashtable作为索引要解决的问题是:怎么可以是bucket动态增长。现在已经存在的解决方案是可扩展hash,但是此算法也比较复杂,而且当不同的key有同样的hash值的时候,会出现无限扩展的

2011-07-28 12:03:26 1627

转载 B树的详解

<br />B树是为磁盘或其他直接存储设备设计的一种平衡查找树。如下图所示。每一个结点箭头指向的我们称为入度,指出去的称为出度。树结构的结点入度都是1,不然就变成图了,所以我们一般说树的度就是指树结点的出度,也就是一个结点的子结点个数。有了度的概念我们就简单定义一下B树(假设一棵树的最小度数为M):<br />1.每个结点至少有M-1个关键码,至多有2M-1个关键码;<br />2.除根结点和叶子结点外,每个结点至少有M个子结点,至多有2M个子结点;<br />3.根结点至少有2个子结点,唯一例

2010-12-07 15:38:00 3058

原创 自己写的hashtable

<br />/**<br />  This program is free software; you can redistribute it and/or modify<br />  it under the terms of the GNU General Public License as published by<br />  the Free Software Foundation;<br />  <br />  author:liexusong<280259971@qq.co

2010-10-10 15:46:00 1086

原创 8086CPU的段寄存器

段地址由段寄存器提供。8086CPU的段寄存器有4个,包括:CS,DS,SS,ES。CS而CS是提供代码段的段地址(code segment),而偏移地址是由IP寄存器提供。在8086CPU中,任意时刻,设CS中的内容为M,IP中的内容为N,8086CPU将从内存M x 16 + N单元开始读取一条指令并执行。(注意:当CPU读取一条指令之后,IP中的值会根据读取当前指令的长度自动增加到下一条指令的偏移地址)。可以通过修改CS,IP寄存器的值控制CPU执行目标指令。可以通过:jmp 段地址:偏移地址来实现修

2010-09-26 23:27:00 4147

原创 CUP寻址的方式

<br />80x86的内存访问方式是通过:物理地址 = 段地址 x 16 + 偏移地址<br /><br />段寄存器是一个16位的寄存器,乘以16等于右移4位,即变成20位。而偏移地址也是一个16位的数,所以80x86最大能访问到220 = 1MB的内存。<br /> <br />而偏移地址的取值范围是:0~FFFFH,所以仅用偏移地址来寻址最多可寻64KB个内存单位。

2010-09-26 23:01:00 939

原创 汇编语言 — 中断

<br />任何一个CPU,都有处理中断的能力。中断的意思是,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊信息。<br />根据中断信息的来源,中断分为内中断和外中断两种。<br />中断向量表是保存中断处理程序入口地址的列表。<br />中断过程指的是在找到中断向量后,CPU的硬件自动完成设置CS和IP的过程。<br />当CPU接收到中断信息后,整个的过程如下:CPU接收中断信息根据中断类型码在中断向量表中找相应的中断向量引发中断过程——CS:IP指向中断处理程序的入口开始执行中断处理

2010-08-24 16:28:00 1052

原创 程序计数器

<br />程序计数器是用于存放下一条指令地址的地方。单片机及汇编语言中常称作PC(program counter)。<br />  为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC

2010-08-19 19:39:00 1453

原创 C语言实现析构器

<br />按照ISO C的规定,一个进程可以注册多大32个函数,这些函数将由exit自动调用。这些函数被称为“终止处理程序”(exit handler),并调用atexit函数来注册这些函数。<br /> <br />#include <stdlib.h><br /> <br />/*成功返回0,失败返回非0*/<br />int atexit(void (*func)(void));<br /> <br /> <br />从原型我们可以看到,被注册的函数是一个没有返回值很没有参数的函数,我们可以使用这个

2010-08-19 15:25:00 1514

原创 我的学习目标

1.学习Linux下的C编程(unix环境高级编程)2.了解TCP/IP协议(TCP/IP协议详解)3.学习Linux下的网络编程(unix网络编程)另外要学习数据结构和C语言的一些技巧等。

2010-08-19 01:30:00 746

原创 Unix的连接详解

<br />最近看Linux的文件,发现Unix的文件系统跟Win的相差甚远。有一个比较大的区别就是连接。<br /> <br />Unix可以通过link函数来为一个文件命名多个名字:<br /> <br />#include <unistd.h><br />#include <fcntl.h><br />#include <stdio.h><br /> <br />int main(void) {<br /> int fd;<br /> fd = open("tmp", O_RDWR | O_CREAT

2010-08-16 17:28:00 953

原创 Linux静态/动态链接库的创建和使用

假设有下面几个文件:头文件String.h,声明相关函数原形,内容如下:Strlen.c:函数Strlen的实现,获取给定字符串的长度,内容如下:Strlnen.c:函数StrNlen的实现,获取给定字符串的长度,如果输入字符串的长度大于指定的最大长度,则返回最大长度,否者返回字符串的实际长度,内容如下:生成静态库: 利用GCC生成对应目标文件:gcc –c Strlen.c Strnlen.c如

2009-09-10 17:14:00 1016

AVL树详细解释,AVL树详细解释

AVL树详解, 可以更深刻的了解到AVL树 AVL树详解, 可以更深刻的了解到AVL树 AVL树详解, 可以更深刻的了解到AVL树 AVL树详解, 可以更深刻的了解到AVL树 AVL树详解, 可以更深刻的了解到AVL树

2011-01-25

关于php内存管理与讨论

关于php内存管理与讨论发撒旦发发发生的

2009-07-29

编程精粹Microsoft编写优质无错C程序秘诀

编程精粹Microsoft编写优质无错C程序秘诀

2009-05-30

RFC2616中文版

RFC2616文档中文版

2007-09-23

PHP中文查询手册

PHP中文查询手册,只有一页!

2007-07-04

smarty中文手册

smarty中文手册

2007-07-02

php中文教程

这些教程是我在网上收集的!本人觉得不错!特意分享!

2007-06-24

空空如也

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

TA关注的人

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