修改不同编译器支持不同的函数