http://blog.csdn.net/shanliangliuxing/article/details/7458492 http://www.cnblogs.com/hxsyl/p/3435412.html