c – 有没有办法转储g编译程序的类布局

c – 有没有办法转储g编译程序的类布局,第1张

概述当用g编译时,-fdump-class-hierarchy以(或多或少)人类可读的格式导出程序的vtable.但是,生成的文件仅包含有关vtable的信息,但不包含有关类布局本身的信息.我想获得所有程序类的布局的完整列表. clang提供了-cc1 -fdump-record-layouts参数来实现这一目的.可以使用-d1reportAllClassLayout调用MS编译器.有没有g开关这样做 当用g编译时,-fdump-class-hIErarchy以(或多或少)人类可读的格式导出程序的vtable.但是,生成的文件仅包含有关vtable的信息,但不包含有关类布局本身的信息.我想获得所有程序类的布局的完整列表.

clang提供了-cc1 -fdump-record-layouts参数来实现这一目的.可以使用-d1reportAllClassLayout调用MS编译器.有没有g开关这样做?

解决方法 如果使用调试信息编译程序,则可以使用pahole从调试信息中转储struct和vtable布局:

g++ -ggdb3 -c program.cpppahole program.o

请注意,g只会为程序中实际使用的结构生成调试信息,因此您可能必须添加一些虚函数来创建或以其他方式使用结构类型的对象.

总结

以上是内存溢出为你收集整理的c – 有没有办法转储g编译程序的类布局全部内容,希望文章能够帮你解决c – 有没有办法转储g编译程序的类布局所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1227424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存