https://stackoverflow.com/a/6614369/1091587에는 "gcc3"-type name을 사용하여 컴파일 된 프로그램의 기호 테이블을 읽을 때 나타나는 소멸자 유형 (D0, D1, D2)의 빠른 요약이 있습니다. mangling. 또한 해당 생성자 C0/C1/C2도 있습니다. g ++ - 4.7 (이전 버전 일 수도 있음)에서는 새로운 ctor/dtor 쌍, 즉 C5/D5가 나타나지만 디버깅 기호로만 나타납니다.gcc name mangling의 "destructor group"기호는 무엇입니까
$ cat i.cpp
class X { public: virtual ~X() {}; };
int main(void) { X x; return 0; };
$ g++ -c i.cpp
$ nm i.o | grep 5
0000000000000000 n _ZN1XC5Ev
0000000000000000 n _ZN1XD5Ev
$ c++filt -n _ZN1XC5Ev _ZN1XD5Ev
X::X()
X::~X()
demangler 소스는 D5는 "gnu_v3_object_dtor_group을"개체 호출하지만 정확히 dtor 그룹은 무엇이며, 그것이 좋은 무엇인가? clang ++ - 3.3은 그것을 방출하지 않으며 http://gcc.gnu.org/ml/gcc-patches/2011-11/msg00383.html은 gcc의 새로운 트랜잭션 메모리 기능과 관련이있을 것이라고 제안합니다.