MS Visual C ++中的编译器选项是否等同于GCC的-fdump-class-hierarchy?即显示虚拟功能表布局。
答案 0 :(得分: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 class c1xx.dll> c1xx.txt
+然后手动检查c1xx.txt
希望它可以提供帮助, Benedetto的
PS:这显然是一个未记录且不受支持的开关。
另请查看here以获得类似的切换。
答案 1 :(得分:0)
我很确定没有任何记录的开关。如果您稍微查看一下cl.exe,可以找到各种字符串,其中一些似乎与命令行选项有关。其中一个说:“分区(选项=%s)\ 0nul \ 0map \ 0ast”。
“ast”可能指的是一个抽象语法树,这可能意味着编译器AST的某种转储是可能的 - 但我还没有真正查看任何细节来弄清楚它在谈论什么,目标at或其他任何东西。就此而言,“ast”和“options =”可能根本不相关。即使它可以转储AST,但这并不一定意味着它可以告诉你有关vtable布局的任何信息。
长话短说,有足够的东西使得很难以真正的确定性排除。与此同时,还有很多工作要做更多工作,而不是暗示编译器可能具有一些无法转储内部结构的无证能力。