clang 损坏的名称随时间变化
clang mangled names varies over time
我们遇到了一些问题,但我没有找到任何文档。似乎有很多 class 成员等随着时间的推移会得到不同的名称。所以有一天,编译给它,例如,
_ZThn1128_N9TESTCLASS14ContentChangedEv
然后经过一天的开发,它得到了一些不同的前缀,比如
_ZThn1140_N9TESTCLASS14ContentChangedEv
你知道吗,这里的变化前缀是什么?我想,也许它与行号有某种联系,但不是。其次,我们如何确保这不会随时间变化?前缀肯定只是一些额外的,因为 demangled 名称保持不变,例如,如果我更改该数字。
提前致谢。
_ZThn1128_N9TESTCLASS14ContentChangedEv
被分解为 non-virtual thunk to TESTCLASS::ContentChanged()
。 This Q&A 表明,错位符号名称的变化可能是由 TESTCLASS
的基数 类 之一的 sizeof
的变化规定的。
我们遇到了一些问题,但我没有找到任何文档。似乎有很多 class 成员等随着时间的推移会得到不同的名称。所以有一天,编译给它,例如,
_ZThn1128_N9TESTCLASS14ContentChangedEv
然后经过一天的开发,它得到了一些不同的前缀,比如
_ZThn1140_N9TESTCLASS14ContentChangedEv
你知道吗,这里的变化前缀是什么?我想,也许它与行号有某种联系,但不是。其次,我们如何确保这不会随时间变化?前缀肯定只是一些额外的,因为 demangled 名称保持不变,例如,如果我更改该数字。
提前致谢。
_ZThn1128_N9TESTCLASS14ContentChangedEv
被分解为 non-virtual thunk to TESTCLASS::ContentChanged()
。 This Q&A 表明,错位符号名称的变化可能是由 TESTCLASS
的基数 类 之一的 sizeof
的变化规定的。