【发布时间】:2013-11-23 21:31:55
【问题描述】:
链接我的代码时,我收到以下错误:
../Build/main.o:(.data._D16TypeInfo_yHAyaAa6__initZ+0x10):未定义对`_D16TypeInfo_HAyayaAa6__initZ'的引用
我不知道错误发生在哪里,所以我可以提供给您的代码不多。有很多代码。
【问题讨论】:
-
什么是编译器,什么是环境?
-
@DejanLekic Linux 64 位
-
_D16TypeInfo_HAyayaAa6__initZ 不能被拆解,所以没有代码几乎不可能猜出发生了什么。将其粘贴到 DPaste 上,并给我们链接...
-
如果将来有人需要知道如何破解这些东西,模式相当简单:每个字母都与一个基本类型或修饰符相关。修饰符是第一位的。 H 是关联数组。然后是关键:A 是数组,y 是不可变的,a 是 char。所以 Aya == 不可变字符数组,又名 immutable(char)[],又名字符串。然后 aa 的值:yAa:不可变 char 数组,又名 immutable(char[])。如果您需要查找字母的含义,可以在 dlang.org abi 页面上查找。
-
差不多,但不完全是:它是
immutable(char[])[immutable(char)[]]。你错过了一个'A',这意味着数组,我认为你在键之前读取了值。键然后值损坏。一个更简单的例子是 Hai。 H 表示 assoc 数组,接下来的两种类型是 key 然后 value,a 表示 char,i 表示 int。所以Hai==int[char]。然后,在读取修饰符字符时,如果您看到一个,它适用于所有其余字符,直到基本类型。所以 Aya,'a' 是基本类型,所以这就是它的结尾。然后阅读其余部分:不可变字符数组:不可变(字符)[]。 yAa 也使整个数组不可变。