OpenMandriva仍然是少数几个使用LLVM Clang编译器的 Linux 发行版之一。虽然有时维护这种组合很困难,但是他们仍然能够成功地使用Clang作为默认编译器。
OpenMandriva开发人员Bernhard Rosenkranzer在本月的EuroLLVM会议上介绍了他们在默认情况下使用LLVM Clang的情况,其中几乎所有Linux发行版都保留GNU编译器集合(GCC)。
他们在GCC上使用Clang最主要的原因是为了更好的编译时间、更流畅的交叉编译体验、得益于围绕LLVM/Clang构建的sanitizers和其他工具,以及(可以说)生成了更可读的代码。OpenMandriva开发人员还发现,即使在使用最新编译器状态的快照时,使用LLVM/Clang也不会造成太大的破坏,他们在了解LLVM 6个月的发布周期后,往往会在开发周期的早期切换到最新编译器状态。
但是在EuroLLVM 2019期间共享的痛点是LLVM/Clang仍然缺少RISC-V架构支持,所以他们依赖GCC。他们还遇到了许多项目的问题,这些项目没有针对GCC以外的任何东西进行测试,有些项目甚至对使用Clang构建怀有敌意。当预处理宏严格按照GNU路由运行时,也有可能错过优化。
在两万多个OpenMandriva包中,目前只有139个包有与clang相关的补丁,而327个包必须依赖GCC。
如果有兴趣了解更多关于OpenMandriva使用LLVM/Clang作为默认系统编译器的信息,可以通过EuroLLVM的这个 PDF幻灯片 来了解,同时我们还在等待今年的视频记录。
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-04/158364.htm
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- LLVM接受NVIDIA的“f18” Fortran编译器作为官方Fortran编译器
- 编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(四)结语
- Scala.js 0.6.29 发布,将 Scala 编译成 js 的编译器
- Go 编译器介绍
- Go 编译器介绍
- C++编译器优化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。