重构了代码

结构更加清晰，大量使用智能指针，避免内存问题。
去掉了vc专用的代码，为跨平台做准备。