FIXES #171 重构C代码，更加精炼