我目前正在开发一个与其他汇编代码有大量接口(interface)的 C 项目。我们正在使用我们正在使用的控制 block 和结构的自制可视化,并且我正在锁定一个关于如何自动化该过程的过程。
由于每个汇编控制 block 都有一个 C 结构等效项,并且我们正在为一种非常罕见的架构编程,因此最简单的方法可能是可视化 C 结构。
我或多或少正在寻找一种从 TCP wiki 页面自动获取图表的方法,例如“用于校验和计算的 TCP 伪 header (IPv6)”:
TCP pseudo-header for checksum computation (IPv6)
遗憾的是,我还没有找到任何能够从 C 头文件生成此类可视化效果的开源工具。有没有一种方法可以生成此类图像或 html 表示而无需手动编写它们?
编辑:感谢 Alexey Frunze 的想法,使用实用程序 pahole 可以从目标文件的 DWARF 部分提取所有使用的结构的实际内存布局。
最佳答案
其中一种方法是使用这些结构编译您的 C 代码,并从对象/可执行文件的调试信息中提取结构信息。否则,您正在寻找/制作结构解析器或破解 clang。
UPD:从未尝试过,但有 pycparser ,这可能会有用。
关于c - C结构的内存布局可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35936526/