高性能的CDC算法

在Pcompress中,我实现了基于滚动散列的按内容分块的一个变体方案,这个方案同时具有较高的重复数据删除准确性和性能。本文试图解释分块过程,包括Pcompress中完成的分块计算,然后讨论针对...

Hashtable和Bucket

哈希表 Hashtable在入门的数据结构课本中,这样定义哈希表:根据设定的哈希函数H(Key)和处理冲突的方法将一组关键字Key映射到一个有限的连续地址集上,并以关键字Key在地址集上的“像”...

socketpair系统调用

socketpair源自BSD,可以实现在同一个文件描述符中进行读写。该系统调用能创建一对已连接的UNIX族socket。 在Linux中,完全可以把这一对socket当成pipe返回的文件描述...

调用OpenSSL的SHA1算法

SHA1散列函数是很常用的散列函数,它产生160bit(20字节)长度的散列值。SHA1相关的API声明#include <openssl/sha.h> unsigned cha...

新年快乐!

从2015年5月开始写这个博客,到现在整整30个月,大学生活的一半多。刚刚翻看了刚开始的文章,发现自己已经从阴影中走出了这么远。感谢那个人,让我放下。

2017年书单

准备考研的一年,也没读什么书。《张宇高等数学18讲》什么的就不往这儿搁了,放不下

printf %m

man下的解释:Print output of strerror(errno). No argument is required.即打印标准错误等价于printf("%s",strerror(...

关于单工、半双工、全双工含义

这几天接触Linux网络编程,经常遇见这三个概念,这里解释一下它们的含义:单工:简单的说就是一方只能发信息,另一方则只能收信息,通信是单向的。半双工:比单工先进一点,就是双方都能发信息,但同一时...

fcntl系统调用

fcntl 全称是 file control,即文件控制。其作用是对已打开的文件描述符进行各种控制操作以改变文件的的各种属性。头文件和函数原型#include <unistd.h> ...