2012-01-22 17 views
8

Rozumiem, że klasa będzie miała VTABLE, jeśli zawiera co najmniej jedną funkcję wirtualną. Chciałbym zobaczyć zawartość VTABLE. Czy istnieje sposób, aby go wyświetlić?Jak wyświetlić VTABLE klasy C++ przez GCC?

Czy jest dostępna opcja w wersji gcc w celu wyświetlenia klasy VTABLE?

Odpowiedz

16

Jeśli plik wejściowy to layout.cpp, zostanie wygenerowany plik layout.cpp.class. Ten plik wyświetli VTABLE wraz z kilkoma innymi przydatnymi informacjami.

+0

Czy na pewno powinniśmy użyć gcc lub powinniśmy użyć g ++ dla C++ – user2760375

+0

Jego g ++ nie gcc. – sagar

2

Zakładając, że naprawdę będzie miał v-table (jest to zależne od kompilatora i nie jest wymagane lub wymagane przez standard) - możesz sprawdzić go za pomocą debuggera.

Dlaczego miałbyś to zrobić? Jeśli polegasz na czymś innym niż ciekawość - wtedy nie.

+0

Tak z ciekawości. Czy istnieje opcja w gcc do wyświetlania vtable? –

+0

@ Linux Penseur to znaczy gdb. Nie wiem Wiem, że w Visual Studio widziałem, jak pojawiała się raz na jakiś czas, kiedy sprawdzałem klasy. Sądzę, że zależy to od tego, jaki symbol gcc do niego dołącza i czy można go znaleźć. – littleadv

Powiązane problemy