编译器术语中的BU和USR是什么意思?

问题描述 投票:0回答:1

在学习 LLVM 和 clang 的过程中,我遇到了缩写

BU
USR
。我一直无法弄清楚它们的意思。

我假设

BU
是某种单位 - 就像
TU
翻译单位一样。
我看到它被使用here谈论“[...]几个
BU
被压缩在一个更大的
TU
[...]”中。

我还发现,显然

USR
s 可以从 ASTs 生成

  • 这些缩写代表什么以及它们的含义是什么?
  • 这些缩写是常见的编译器术语还是仅由 LLVM 使用?
compiler-construction llvm abstract-syntax-tree
1个回答
3
投票

引用 clang 文档

统一符号解析(USR)是标识程序中特定实体(函数、类、变量等)的字符串。可以跨翻译单元比较 USR,以确定一个翻译中的引用何时引用另一个翻译单元中定义的实体。

也来自 clang-tags 用户手册

仅通过拼写无法识别符号:需要上下文信息来消除不同范围内相同拼写的使用歧义。为了在项目中的所有翻译单元中唯一标识符号,clang 定义了统一符号解析。

至于

BU
,这可能指的是Boost.Units库

© www.soinside.com 2019 - 2024. All rights reserved.