自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (6)
  • 收藏
  • 关注

原创 centos下的vi编辑器的使用

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 1、vi的基本概念 基本上vi可以分为三种状态,分别是命

2017-05-23 11:09:39 1230

转载 B-树和B+树的应用(数据搜索和数据库索引)

B-树1 .B-树定义B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树;⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据:      (n,A0,K1,A1,K2,…,Kn,An)其中:Ki(i=1,

2017-05-16 18:39:46 1040

原创 C/C++程序的编译链接过程

在以前学习C语言的时候,想必大家写的第一个代码都是“hello world”吧。在以前我们调试一个代码的时候是在vc++6.0或者是在vs上面调试的,这种就是集成开发环境,它为我们简化了一个代码的编译链接的过程但是却对初学者又蒙上了面纱。而当我们学习了更多一些知识的时候就该看看这个面纱下面到底隐藏着什么。 大家都知道我们所编写的C语言程序只是一个后缀为“.c”的文件,这个文件是不能直接被计算机所运

2017-05-16 17:29:19 2543

原创 linux下shell的简单实现

一、什么是shell? 我们知道shell是linux下的系统的用户界面,提供了用户与内核实现交互操作的一种接口。它接收用户输入的命令,并把收入到的命令交给内核去执行。也就是说:shell是一个命令解释器,shell还有自己的编程语言用于对命令的编辑,允许用户编写由shell命令组成的程序。 二、shell实现的原理 shell是内核和用户之间交流的一种工具,它是一种“外壳程序”。当我们启动l

2017-05-11 10:02:50 1610

原创 剑指offer--之翻转字符串

遇到这样的一道题是说:输入的是一个英文的句子,要求翻转句子中的单词的顺序,但是单词内的字符的顺序却不能变。例如:输入“I am a student.”输出的则是“student.am I”。 解题思路: 遇到这样的问题,我们一般都是通过翻转来实现的。也就是第一步翻转是把字符串里面所有的字符进行翻转,也就是字符串的逆置。然后再把每个单词里面字符的顺序进行翻转,这样的话我们就可以改变单词的顺序而不改

2017-05-08 20:50:20 1919

原创 文件描述符和文件指针

一、什么是文件描述符? 在linux系统中,“一切皆文件”所以设备也是以文件的形式存在的。对一个设备进行操作必须先打开这个文件,而打开这个文件就会用到文件描述符。文件描述符是一个很小的正整数,每个进程在PCB中都会保存着一份文件描述符表。而文件描述符就是这个表的索引,每个表项都有一个指向一个已打开文件的指针。所有执行I/O操作的系统调用都是通过文件描述符来完成的。在linux下进程是通过进程描述符

2017-05-07 11:38:32 1290

原创 linux下的粘滞位--sticky bit

一、什么是粘滞位 今天给大家介绍的是linux下的粘滞位(sticky bit),那么什么是粘滞位呢?下面便个大家介绍一下。 粘滞位: 如果用户对目录有写的权限,则可以删除其中的文件和字目录,即使用户不是这些文件的所有者,而且也没有读和写的权限。粘滞位出现在执行许可的位置上,用t来表示。设置了该位后,其他用户就不可以删除不属于它的文件和目录。但是该目录下的目录并不继承该权限,要再设置才可以使用

2017-05-06 11:12:37 1068

原创 结构体内存对齐

一、内存对齐的原因 1、为了提高程序的性能,数据结构应该尽可能的在自然边界上对齐。原因是为了访问未对齐的内存,处理器需要进行两次访问而访问对齐的内存只需要一次就够了。这样的方式称为“用空间来换取时间”,在对时间复杂度有要求的问题会采用这样的方法。 2、内存对齐可以增加程序的可移植性,因为不是所有的平台都能随意的访问内存。有些平台只能在特定的地址处取内存。 栗子:#include <iost

2017-05-02 20:07:32 569

转载 C、C++中的结构体

今天复习一下struct,顺便挖掘一下以前没注意的小细节:基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。结构体定义:第一种:只有结构体定义[cpp] view plain copy print?struct stuff{          char job[20];

2017-05-02 09:40:07 589

转载 函数调用规则

关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。        microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开发dll给其他语言用,则应该指定__stdcall方式。堆栈由谁清除这个很重要,如果是要写汇编函数给C调用,一定要小心堆栈的清除工作,如

2017-05-01 11:56:41 726

原创 堆栈及函数调用栈帧

函数调用是程序设计中最为重要的一个环节,函数调用的操作包括从一块代码到另一块代码之间的双向数据传递和执行的过程。数据传递包括:函数参数和返回值。 大多数的cpu上的程序使用栈来实现函数的调用操作,栈用来传递函数的参数,保存返回的信息,存储寄存器中的数据。单个函数的调用操作所使用的栈部分称为栈帧结构,栈帧结构的两端由两个指针来指定。寄存器ebp通常用作帧的指针,esp用作栈的指针,esp随着数据的入

2017-05-01 11:45:07 966

原创 大小端存储问题

在生活中我们会遇到很多大小端的问题,别看这是小小的问题有时候却能把我们摔一个跟头。 大端存储:高位存在低地址,低位存在高地址,高位先存。 小端存储:高位存在高地址,低位存在低地址,低位先存。 举个栗子说明一下: 内存从0X0000开始有以下的数据 0x0000 0x12 0x0001 0x34 0x0002 0xab 0x0003

2017-05-01 09:47:39 537

源码 STL1.0库

STL是C++里面的源码库,通过剖析STL源码可以使你加深STL容器的实现

2017-12-31

thinyhttpd源码

thinyhttpd是一款轻量级的http源码,通过剖析thinyhttpd源码

2017-12-31

webbench源码

webbench是一款轻量级的性能压测工具,通过剖析源码可以使你更能对其有更深 的理解

2017-12-31

libevent源码

libevent源码

2017-08-15

thinyhttpd-0.1.0源码

thinyhttpd源码下载

2017-08-15

python入门级视频

python入门级视频到爬虫

2017-06-21

空空如也

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

TA关注的人

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