C++ Boost智能指针(smart_ptr)快速指南

智能指针(smart_ptr)是Boost各组件中,应用最为广泛的一个。

重所周知,C++没有提供Java中的垃圾回收机制。因此,在堆上申请的内存,需要自行回收,这就很容易导致内存泄漏。虽然STL提供了auto_ptr,但是受限太多(例如,不能放到容器中。。。),因此很少有人使用。

Boost从很早就提供了如下的智能指针,并且功能一直保持稳定:

  • scoped_ptr:不可拷贝,承载new。
  • scoped_array:不可拷贝,承载new []。
  • shared_ptr:[......]

    继续阅读

Thrift 0.9.3编译安装

1、依赖的库

经过试验,发现目前0.9.3依赖如下的库:
# build
sudo apt-get install autoconf build-essential
# Java 和 ant
java -version
注:ant安装最高支持到1.9.x,可以官方下载,链接

2、配置

这里我只需要使用Java的。
wget https://archive.apache.org/dist/thrift/0.9.3/thrift-0.9.3.tar.gz
tar -x[......]

继续阅读

解决SSH自动断线,无响应的问题。

在连接远程SSH服务的时候,经常会发生长时间后的断线,或者无响应(无法再键盘输入)。

总体来说有两个方法:

1、依赖ssh客户端定时发送心跳。

putty、SecureCRT、XShell都有这个功能,但是目测不太好用。

此外在Linux下:

 
#打开
sudo vim /etc/ssh/ssh_config
# 添加
ServerAliveInterval 20
ServerAliveCountMax 999
即每隔20秒,向服务器发出一次[......]

继续阅读