在学习 LLVM 和 clang 的过程中,我遇到了缩写
BU
和 USR
。我一直无法弄清楚它们的意思。
我假设
BU
是某种单位 - 就像TU
是翻译单位一样。BU
被压缩在一个更大的TU
[...]”中。
我还发现,显然
USR
s 可以从 AST
s 生成。
引用 clang 文档:
统一符号解析(USR)是标识程序中特定实体(函数、类、变量等)的字符串。可以跨翻译单元比较 USR,以确定一个翻译中的引用何时引用另一个翻译单元中定义的实体。
也来自 clang-tags 用户手册:
仅通过拼写无法识别符号:需要上下文信息来消除不同范围内相同拼写的使用歧义。为了在项目中的所有翻译单元中唯一标识符号,clang 定义了统一符号解析。
至于
BU
,这可能指的是Boost.Units库。