2010-05-25 72 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。

我建議不要刪除我的問題,以便於用同一問題輕鬆搜索其他人。