http://www.cnblogs.com/gnuhpc/archive/2013/01/04/2844303.html http://blog.csdn.net/kaixinbingju/article/details/8726711