网上查了很多关于查看C++虚函数表的内容,整理后实现了虚函数表的查看:
1)打开C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts路径下的VS开发人员命令提示;
2)输入cd +工程的主函数CPP路径(建议建立工程在默认路径下):
3)输入dir(用于读取文件):
4)最后输入需要查看的虚函数表(然后使用cl命令的/d1 reportAllClassLayout或reportSingleClassLayoutXXX选项。这里的reportAllClassLayout选项会打印大量相关类的信息,而不仅仅是这个文件中的类,所以一般用处不大。而reportSingleClassLayoutXXX选项的XXX代表要编译的代码中类的名字(这里XXX类),打印XXX类的内存布局和虚函数表(如果代码中没有对应的类,则选项无效),这里可以分别使用):
1 cl /d1 reportSingleClassLayoutBase1 main.cpp
2 cl /d1 reportSingleClassLayoutBase2 main.cpp
3 cl /d1 reportSingleClassLayoutDerived main.cpp