KFS系统的编译、调试

KFS是一个分布式文件系统(Cloud Store)
安装/调试KFS步骤

0、安装g++

一定要使用g++ 4.2版本(或者4.3)
sudo apt-get install g++-4.2
然后在/usr/bin下用ln把g++链接到 g++-4.2上!

1、安装Boost
需要手动安装
去Boost.org上下载1.4.0
./bootstrap.sh //会生成bjam
./bjam -sTOOLS=gcc --without-python install[......]

继续阅读

C++ Primer读书笔记--第14章

(1)C++允许我们重新定义操作符用于类类型对象时的含义
(2)可以像内置转换一样使用类类型,将一个类型的对象隐式转换为另一个类型
标准库为容器定义了几个重载操作符:为容器定义了下标访问[],为迭代器定义了*和->
14.1  重载操作符的定义
重载操作符是具有特殊名称的函数:保留字operator后面接所需定义的操作符符号。
重载操作符的形参数目,与操作符的操作数相同。
不能重载的操作符  ::  .*  .  ?:
不建议重载的操作符[......]

继续阅读

Linux设置socket客户端的连接超时

非常感谢原作者:http://hi.baidu.com/ganss/blog/item/1c69d3139036a8836538dba0.html
 
原来我们实现connect()超时基本上都使用unix网络编程一书的非阻塞方式(connect_nonb),今天在网上看到一篇文章,觉得很有意思,转载如下:
读Linux内核源码的时候偶然发现其connect的超时参数竟然和用SO_SNDTIMO操作的参数一致:

  File: net/ipv4/af_inet.c
[cpp]
t[......]

继续阅读