当他们谈论"单一类型"和"LLVM中的类型是唯一的"时,他们在谈论什么?

zel*_*ell 3 types llvm

这一定是愚蠢的,但当他们说"LLVM中的类型是唯一的"时,我不明白其含义(参见本教程,第3.4节).您是否愿意向我解释一下这种所谓的"单一类型"("LLVM类型是唯一的"应该很容易理解,一旦"单一类型"清楚就可以了.)

Oak*_*Oak 6

这意味着具有相同内容的两种类型实际上是相同的类型.这就是为什么当你想要一个"double(double,double)"类型时你不创建一个新类型,而是获得现有的 "double(double,double)"类型 - 如果没有它将为你创建,如果已经有一个它将被退回.

这是LLVM中的常见情况,但值得注意的例外是LLVM中识别的结构类型名称而非结构."已识别的结构类型"表示具有关联名称的结构类型.

一般而言,这与名义类型结构类型的概念有关.