2010-06-13 38 views

回答

8

嘗試

cl.exe時/ d1reportAllClassLayout TEST.CPP

的輸出是一樣的東西:

 
class request_handlerAttribute size(8): 
     +--- 
0  | name 
4  | sdl 
     +--- 



class perfmonAttribute size(8): 
     +--- 
0  | name 
4  | register 
     | (size=3) 
     +--- 

找到這樣做的: + FINDSTR/I類C1XX。 dll> c1xx.txt
+然後手動檢查c1xx.txt

希望它能幫助, 貝內代

PS:這顯然是一個未公開的和不支持的開關。
另請參閱here以瞭解類似的開關。

0

我很確定沒有任何記錄的開關。如果你查看一下cl.exe,你可以找到各種字符串,其中一些看起來與命令行選項有關。其中一個說:「分區(選項=%s)\ 0nul \ 0map \ 0ast」。

這個「ast」可能指的是一個抽象語法樹,這可能意味着編譯器AST的某種轉儲是可能的 - 但我沒有仔細研究過它的意思,瞄準或者其他任何東西。就此而言,「ast」和「options =」可能根本就沒有關係。即使它可以轉儲AST,這並不一定意味着它可以告訴你關於vtable佈局的任何信息。

長話短說,這裏有足夠的東西讓人難以真正確定地排除。與此同時,還有一點就足夠了,那就需要做更多的工作來做更多的事情,而不是暗示編譯器可能具有某些未公開的轉儲某些內部結構的能力的模糊可能性。