如果使用调试(
-g)编译C代码,则pahole(git)可以为您提供所使用的确切结构布局。
$ pahole / bin / dd…结构选项{ const char *名称;/ * 0 8 * / int has_arg; / * 8 4 * / / * XXX 4个字节的空洞,请尝试打包* / int *标志; / * 16 8 * / int val; / * 24 4 * / / *大小:32,缓存行:1,成员:4 * / / *总和成员:24,孔:1,总和孔:4 * / / *填充:4 * / / *最后的缓存行:32个字节* /};…这比直接C解析起来要好得多。



