LLVM/Clang 介绍

发布时间: 更新时间: 总字数:431 阅读时间:1m 作者: IP上海 分享 网址

Clang 是一个CC++Objective-CObjective-C++编程语言的编译器前端

介绍

  • LLVM (Low Level Virtual Machine) 是一个开源的编译器架构,ClangLLVM 的一个编译器前端
    • 步骤包括:编译期优化、链接优化、在线编译优化、代码生成等
    • LLVM 有许多的子项目,比如 Clang, LLDB, MLIR 等
  • Clang 采用了 LLVM 作为其后端,由LLVM2.6开始,一起发布新版本
    • 目标是提供一个GNU编译器套装的替代品,支持了GNU编译器大多数的编译设置以及非官方语言的扩展
    • Clang 对源程序进行预处理、词法分析、语法分析,并将分析结果转换为 Abstract Syntax Tree(抽象语法树),最后使用 LLVM 作为编译器后端代码的生成器
  • 相比 GUN 的优点:模块化,代码简单易懂,占用内存小、容易扩展和重用等
  • 其他
    • GCC(GNU Compiler Collection, GNU 编译器套装) 是一套由 GNU 开发的编程语言编译器
      • GCC 原名为 GNU C 语言编译器,开始只能处理 C语言,后来支持处理 C++FortranPascalObjective-CJava 以及 Ada 等他语言

开发环境

VSCode + C/C++ 插件开发比较慢,可以使用 vscode + clangd/CMake/CMake Tools/CodeLLDB 插件替代

# ubuntu 安装
sudo apt install clang clangd lldb cmake

使用参考

参考

  1. https://llvm.org/
  2. http://clang.llvm.org/docs/index.html
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数