Как отобразить VTABLE класса C ++ через GCC? - PullRequest
8 голосов
/ 22 января 2012

Я понимаю, что класс будет иметь VTABLE, если он содержит хотя бы одну виртуальную функцию. Я хотел бы увидеть содержимое VTABLE. Есть ли способ показать это?

В частности, есть ли в gcc опция для отображения VTABLE класса?

Ответы [ 2 ]

18 голосов
/ 11 февраля 2012

Если во входном файле указано layout.cpp, команда gcc -fdump-class-hierarchy layout.cpp создаст файл layout.cpp.class.Этот файл будет отображать VTABLE вместе с некоторой другой полезной информацией.

1 голос
/ 22 января 2012

Предполагая, что у него действительно будет v-таблица (это зависит от компилятора, и не требуется или не предписывается стандартом) - вы можете проверить ее с помощью отладчика.

Зачем ты это делаешь? Если вы полагаетесь на это для чего-то кроме любопытства - тогда не .

...