c - 一种查找结构中填充的大小和位置的方法?

标签 c perl struct padding

我正在尝试编写一个工具,它将一些包含结构的 C 代码作为输入。它将编译代码,然后查找并输出编译器决定添加到其中结构的任何填充的大小和偏移量。对于使用 offsetof、sizeof 和一些加法的已知结构,手动执行此操作非常简单,但我想不出一种简单的方法来自动为任何输入结构执行此操作。

如果我知道如何遍历结构中的所有元素,我想我可以毫无问题地编写该工具,但据我所知,没有办法做到这一点。我希望一些 StackOverflow 的人会知道一个方法。然而,我并没有拘泥于我的方法,而且我当然愿意接受任何在结构中查找填充的替代方法。

最佳答案

这不就是pahole吗?是吗?

关于c - 一种查找结构中填充的大小和位置的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3294010/

相关文章:

c - 在 C 中将不同的线程汇总在一起?

c - 在 C 中制作没有框架的 GUI

perl - 我怎样才能 Hook 到 Perl 的打印?

regex - 在可选 token 之间寻找匹配?

c - 指向 C 中结构的指针

C代码将文件移动到垃圾箱

c - 反调试 : gdb does not write 0xcc byte for breakpoints. 知道为什么吗?

perl - 使用Perl调试器与像Devel::REPL这样的真正REPL有什么缺点?

c++ - 带结构的 C pthread

c++ - 在 C++ 中返回结构