赞
踩
Clang项目属于LLVM项目(实现编译器调试器等所有的一切功能,对标GNU家族中的程序开发工具链)中的一项,在LLVM这个庞大的开源项目中,github源码显示中https://github.com/llvm/llvm-project,clang就是其中一个文件夹而已:
LLVM官网 https://llvm.org/ 我们可以在release页面下载安装包,安装后有2GB左右,里面有非常多的工具,关于clang,就有26个工具(当然有些工具功能有包含关系,见下文),这就是clang工具全家桶了,如下:
Clang 项目为LLVM 项目的类 C 语言家族(C、C++、Objective C/C++、OpenCL、CUDA 和 RenderScript)中的语言提供语言前端和工具基础设施,所有的一切,完全开源,而且具有丰富的文档,非常棒!!!即:提供了关于编译器方面的各种基础库(源代码api)和工具(编译好的可执行文件,称为全家桶),所以模块化非常好,用户可以组合它们,从而自己做出一些有意思的工具,或者定制化自己的编译器。
Clang官网:https://clang.llvm.org/
Clang可以作为一个完整的编译器(clang.exe等),也可以提供api库(LibTooling等),还可以提供工具软件(clang-format.exe等),分别给出了示例,参考 https://releases.llvm.org/14.0.0/tools/clang/docs/index.html
把clang官网中提供的所有功能进行整理如下:
clang使用文档 Welcome to Clang's documentation! — Clang 14.0.0 documentation
clang命令大全 Index — Clang 16.0.0git documentation
下面的来自 https://clang.llvm.org/
来自 https://releases.llvm.org/14.0.0/tools/clang/docs/index.html 作为工具使用:
来自 https://releases.llvm.org/14.0.0/tools/clang/tools/extra/docs/index.html 提供的一些额外工具软件:
上面的这些都是在clang的官网可以查到的,而且有使用文档,其中被IDE所广泛采用的,都介绍完了。而其它工具,clang官网是没有介绍的可能我们得去llvm的官网,因为这些工具可能是在一些llvm网址的下属的论坛网址介绍的(看来不是clang的主要工具),或者,其源码,直接在github官网llvm项目的对应文件夹,或者直接网上搜索这些exe名字吧:(搜索技巧 clang-repl site:https://llvm.org/ 这样就是在llvm中的相关网址进行搜索了,具体看我这篇博客 如何指定网站内搜索关键字(借用已有搜索引擎)_标biao的博客-CSDN博客_在特定网站中检索关键词,或者,直接谷歌搜索这个exe名字吧,也能准确搜出来介绍资料)
由于clang的各种基础api都模块化的,所以自己也可以去重新加工,编译得到自己的一个clang工具呗。
clang被广泛用于给IDE做后台软件,比如vscode,vim等编辑器的插件,QtCreator,keil等IDE,都有它。自己做IDE,也需要用它。其中,最常用的是 clang.exe,clangd.exe,clang-format.exe
现在我们已经搞清楚了这些情况了,剩下的对于每一项,就自己去搜索相关资料就行了,每个工具都有大量的博客进行了介绍。
比如clang-format.exe等工具,就有博客将clang官网介绍做了系列翻译文章 ,可以去看看使用 Clang Tools —— ClangFormat_梦在哪里的博客-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。