clang mangled names随着时间的推移而变化

new*_*use 5 c++ clang name-mangling

我们遇到了一些关于我没有找到任何文档的内容.看来,有很多班级成员等随着时间的推移会得到不同的名字.所以在一天之内,编译就会给出它,例如,

_ZThn1128_N9TESTCLASS14ContentChangedEv

然后经过一天的开发,它会得到一些不同的前缀,比如

_ZThn1140_N9TESTCLASS14ContentChangedEv

你知道吗,这里有多少前缀?我想,也许它与行号有某种联系,但不是.其次,我们如何确保,这不会随着时间的推移而变化?前缀肯定只是一些额外的,因为如果我改变了这个数字,那么demangled名称保持不变.

提前致谢.

Leo*_*eon 4

_ZThn1128_N9TESTCLASS14ContentChangedEv被分解为non-virtual thunk to TESTCLASS::ContentChanged(). 此问答sizeof表明,重整符号名称的更改可能是通过 的基类之一的更改来规定的TESTCLASS