- 主题:用CLANG和VC编译器编译出来的程序有什么区别吗?
比如性能区别?
我们之前一个程序以制用VC编译器编译,现在想换成VS2019里面集成的CLANG来编译,但是又担心会不会出啥幺蛾子。
--
FROM 113.246.62.*
vs2019 里面集成 clang 了?
【 在 speedboy2998 (极品飞车) 的大作中提到: 】
: 比如性能区别?
: 我们之前一个程序以制用VC编译器编译,现在想换成VS2019里面集成的CLANG来编译,但是又担心会不会出啥幺蛾子。
--
FROM 112.47.93.*
C++太复杂,各种编译器都有一些“个性”,库实现也存在细微差别。转换的话可能存在幺蛾子。
【 在 speedboy2998 () 的大作中提到: 】
: 比如性能区别?
: 我们之前一个程序以制用VC编译器编译,现在想换成VS2019里面集成的CLANG来编译,但是又担心会不会出啥幺蛾子。
--
FROM 138.19.103.*
可选组件里有。
【 在 hgoldfish () 的大作中提到: 】
: vs2019 里面集成 clang 了?
:
: 【 在 speedboy2998 (极品飞车) 的大作中提到: 】
--
FROM 138.19.103.*
换编译器一般都有坑,编译问题,还可能有一些运行问题,有开发和测试的工作量,有人手、经得起折腾就搞。
以前从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.*