有没有详细的Clang库API文档?

Is there any detailed Clang library API documentation?

本文关键字:API 文档 Clang 有没有      更新时间:2023-10-16

我一直在阅读一些大量使用Clang库API的代码。然而,我对Clang API一点也不熟悉,不得不一直在谷歌上搜索。例如,当我读到一些代码,比如clang::EnumConstantDecl,我就会跟着google转到这个页面。似乎关于EnumConstantDecl的一切都可以在这里找到,但我所看到的只是一个API列表(或者只是一些函数原型),没有任何具体的解释。我还是不知道怎么用它。

那么,还有其他好的文档吗?或者,我遗漏了什么基本知识吗?

对我帮助最大的是简单地搜索LLVM/Clang源本身的用法,例如clang::EnumConstantDecl或其成员和方法。它作为高质量用法示例的一个很好的来源。只要确保你使用的IDE可以处理大量的代码。

我怀疑有没有更有效的方法来习惯这个API

你所链接的页面是clang的内部文档,它包含了一些关于它正在做什么的解释:

EnumConstantDecl -每个枚举都存在一个实例定义的常数。例如,在"enum X {a,b}"中,每个a/b是EnumConstantDecl的,X是EnumDecl的一个实例,和类型a/b是X EnumDecl的TagType。

文档不必包含使用示例。他们在主页上明确地说:

本文档描述了组成clang的内部软件,而不是clang的外部使用。这里没有关于如何使用clang的说明,只有组成该软件的api。有关使用说明,请参阅程序员指南或参考手册。

但是,您可以在以下网址查找其他clang材料:

http://clang.llvm.org/docs

尤其是"使用Clang作为库"可能对您有用。但是,因为我不知道你在做什么,所以我不能给你更精确的指示。然而,我希望你能从这里开始……

不,没有什么比氧非文档更有用的了。你只需要读一下,然后做一个有根据的猜测。Clang开发者会在他们的IRC频道里回答问题;但是这并不能保证你会得到有用的帮助,他们通常会告诉你直接阅读源代码。