如何通过GCC显示C++类的VTABLE
How to display the VTABLE of a C++ class through GCC?
我知道,如果一个类至少包含一个虚拟函数,它就会有一个VTABLE
。我想看看VTABLE
的内容。有办法展示它吗?
具体来说,gcc
中是否有显示类的VTABLE
的选项?
如果输入文件是layout.cpp
,则命令gcc -fdump-class-hierarchy layout.cpp
将生成文件layout.cpp.class
。此文件将显示VTABLE以及其他一些有用信息。
假设它真的有一个v表(这是依赖于编译器的,不是标准所要求或规定的),您可以用调试器来检查它。
你为什么要那样做?如果你不是出于好奇而依赖它,那么就不要。
相关文章:
- 具有默认模板参数的多态类的模板推导失败
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- std::具有相同基类的类的变体
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- ASAN 检测与动态加载库共享的类的 vtable 的 ODR 违规
- 为什么虚拟类的析构函数不会自动添加到 vtable 中?
- 了解派生类中的 vtable
- 用嵌套类对VTable的未定义引用
- 基类的虚拟和最终函数的成本(vtable/虚拟成本)
- 如何在LLDB中查看C++类的vtable
- 同一个c++类的所有实例共享一个vtable,或者每个实例都有自己的vtable
- 获取没有对象的类的 vtable
- 对派生类的"vtable"的未定义引用
- C++ 未定义对“虚拟类的 vtable ”的引用
- 如何通过GCC显示C++类的VTABLE
- 对"类的typeinfo"的未定义引用和对"vtable for class"的未定义引用
- 调用基类的构造函数时对vtable的未定义引用
- 具有相同名称的多个类导致vtable问题
- 用于抽象类的 VTABLE C++