2010-05-25 71 views
1

可能重复:
Layout of compiled objectsC/C++编译器报告结构成员可以抵消

大家好。我想问一下,编译器(例如Visual C++)能够生成一个报告(.txt),告诉struct /所有结构体的struct成员偏移量?

如果是这样,它有助于调试相当多。例如,当您在调试器中阅读反汇编代码时,可以更容易地将偏移量值与结构成员相关联。

另外,最好在函数堆栈帧上有每个局部变量的编译器报告偏移量(例如,相对于X86机器上的ebp的偏移量)。

预先感谢您。

+0

我设法挖掘了无证编译器开关,并且我在这里提出了我的答案:http://stackoverflow.com/questions/2138890/c-see-compiled-object-layout/2902171#2902171。投票结束你的问题,作为一个骗局。 – 2010-05-25 05:16:01

回答

1

谢谢你,j_random_hacker,你对我的问题提供了一个相当可行的答案。

使用无证编译器选项

/d1reportSingleClassLayoutXXX 
/d1reportAllClassLayout 

(替换类名XXX)

为我们提供了结构成员偏移的简要视图。

在Visual C++ 8 SP1上尝试过,OK。

我建议不要删除我的问题,以便于用同一问题轻松搜索其他人。