2010-06-13 19 views

Répondre

8

essayer

cl.exe/d1reportAllClassLayout test.cpp

La sortie est quelque chose comme:

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



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

Trouvé faire: + findstr/i classe c1xx. dll> c1xx.txt
+ puis d'inspecter manuellement c1xx.txt

L'espoir peut aider, Benedetto

PS: Ceci est évidemment un commutateur sans papier et non pris en charge.
Regardez également here pour un commutateur similaire.

0

Je suis certain qu'il n'y a aucun commutateur documenté. Si vous regardez un peu le fichier cl.exe, vous pouvez trouver différentes chaînes, dont certaines semblent être liées aux options de la ligne de commande. L'un d'eux dit quelque chose comme: "Partitionnement (options =% s) \ 0nul \ 0map \ 0ast". Ce "ast" peut faire référence à un arbre de syntaxe abstraite, ce qui peut impliquer qu'une sorte de vidage de l'AST du compilateur est possible - mais je n'ai pas vraiment cherché dans tous les détails pour comprendre de quoi il parle, visé, ou beaucoup de toute autre chose. D'ailleurs, les options "ast" et "options =" ​​peuvent ne pas être liées du tout. Même si elle peut sauvegarder des AST, cela ne signifie pas nécessairement qu'elle peut vous dire quoi que ce soit sur la mise en page vtable.

Pour faire une histoire courte, il y a assez là pour qu'il soit difficile d'exclure avec une réelle certitude. En même temps, il y a peu de choses là-bas qu'il faudrait beaucoup plus de travail à faire que de suggérer la vague possibilité que le compilateur puisse avoir une capacité non documentée pour vider certaines structures internes.