听海博客 | seaHi

“Linux开发”

高性能的CDC算法

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

调用OpenSSL的SHA1算法

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

GDB快速手册

GDB非常强大,命令也很多,下面是常用的一些,足够应付日常的基本调试任务。

调试概念:单步执行、单步进入、强制进入、单步退出

这两天一直在调试程序,想记两篇关于GDB调试的笔记。这是第一篇,关于调试的几个小概念:单步执行、单步进入、强制进入、单步退出。

Hashtable和Bucket

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

assert()断言用法总结

在C中,assert()实际是一个宏,它的定义在 assert.h 文件中

printf %m

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

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

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

socketpair系统调用

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

fcntl系统调用

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