这一定是愚蠢的,但是当他们说“LLVM中的类型是唯一的”时,我不理解其含义(请参阅this tutorial,第3.4节)。您能否请我解释一下所谓的“唯一类型”(“LLVM类型是唯一的”,一旦“唯一类型”清楚就应该易于理解。)

最佳答案

这意味着具有相同内容的两种类型实际上是同一类型。这就是为什么当您需要“double(double,double,double)”类型时不创建新类型,而是获得现有的“double(double,double,double)”类型的原因-如果没有为您创建的类型,如果已经存在,则将其返回。

这是LLVM中的常见情况,唯一的例外是identified structural types in LLVM are uniqued by name and not structure。 “确定的结构类型”是指具有关联名称的结构类型。

通常,这与nominal typesstructural types的概念有关。

08-05 04:55
查看更多