增加一些细节修改，引入clang