当前位置 : 主页 > 编程语言 > java >

【clang】一款新的开源的跨平台的C语言编译器

来源:互联网 收集:自由互联 发布时间:2022-06-23
​​https://clang.llvm.org/index.html​​ 通用性和效率是否可以兼得? LLVM:LLVM是项目全名,该项目是模块化、可重用的编译器以及工具链技术的集合。 LLVM架构: 不同的前端后端使用统一的

​​https://clang.llvm.org/index.html​​

通用性和效率是否可以兼得?

LLVM:LLVM是项目全名,该项目是模块化、可重用的编译器以及工具链技术的集合。

【clang】一款新的开源的跨平台的C语言编译器_编译速度

LLVM架构:

  • 不同的前端后端使用统一的中间代码LLVM Intermediate Representation。
  • 如果需要支持一种新的编程语言,那么只需要实现一个新的前端。
  • 如果需要支持一种新的硬件设备,那么只需要实现一个新的后端。
  • 优化阶段是一个通用阶段,不需要对其进行修改。
  • 相比之下,GCC的前后端耦合紧密,故其为了支持一门新的语言或者平台,十分困难。

Clang:LLVM的一个子项目,基于LLVM架构的C/C++/Objective-C编译器前端。

【clang】一款新的开源的跨平台的C语言编译器_编译速度_02

相比于GCC,Clang有如下优点:

  • 编译速度快:在某些平台上,Clang的编译速度显著的快过GCC,Debug模式下编译OC的速度比GCC快3倍;
  • 占用内存小,Clang所占用内存是GCC的五分之一左右;
  • 模块化设计,Clang采用基于库的模块化设计,易于IDE集成及其他用途的重用;
  • 诊断信息可读性强:在编译过程中,Clang创建并保留了大量详细的元数据,有利于调试和错误报告;
  • 设计清晰简单,容易理解,易于扩展增强;

  • 上一篇:Spring入门
    下一篇:没有了
    网友评论