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

编程知识 行业动态 更新时间:2024-06-13 00:22:38

https://clang.llvm/index.html

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

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

LLVM架构:

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

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

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

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

更多推荐

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

本文发布于:2023-04-02 21:18:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/8c4801d95d2e2a341854413fe3014e40.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:编译器   开源   语言   平台   clang

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!