Ead*_*ilu 5 c++ variables gcc g++ vtable
使用 g++ 编译时,-fdump-class-hierarchy 以(或多或少)人类可读格式导出程序的虚表。但是,生成的文件仅包含有关 vtable 的信息,而不包含有关类布局本身的信息。我想获得我所有程序类的布局的完整列表。
clang 提供 -cc1 -fdump-record-layouts 参数来实现这一点。可以使用 -d1reportAllClassLayout 调用 MS 编译器。是否有任何 g++ 开关可以做到这一点?
eca*_*mur 1
如果程序是使用调试信息编译的,则可以使用pahole从调试信息中转储结构体和 vtable 布局:
pahole
g++ -ggdb3 -c program.cpp pahole program.o
请注意,g++ 只会为程序中实际使用的结构生成调试信息,因此您可能必须添加一些虚拟函数来创建或以其他方式使用结构类型的对象。
归档时间:
10 年,10 月 前
查看次数:
2298 次
最近记录: