换编译器一般都有坑,编译问题,还可能有一些运行问题,有开发和测试的工作量,有人手、经得起折腾就搞。
以前从VS2008换到VS2017就遇到过全局对象的构造顺序问题,从VC6换到VS2008遇到过c++ exception的编译器默认设置问题。
性能只能是自己做对比测试了,毕竟不同的优化选项都可能影响性能。
但是大部分应用还到不了要顾及到这点性能差异的地步,要不在提问之前自己早就做了性能对比测试了。
刚看了一下VS2019对clang的支持,看起来是更好了。
老早以前MS是用clang/C2这个东西支持clang的,MS自家编译器的特性赶上来后,clang/C2已经被MS抛弃了。
现在默认是用clang-cl,也支持从源码编译出来的clang。
MS自家搞,肯定比clang team去逆向分析然后支持MS那不公开格式的pdb要好很多。
回头可以试试这个特性,有个工程中用了只有clang能编译通过的变参模板,还有__int128这种微软默认不支持的类型。
--
修改:z16166 FROM 123.115.134.*
FROM 123.115.134.*