主要代码是网上来的,我主要是修改了一些类型和一些接口,使可以方便的实现移植