1

UnDecorateSymbolNameWfrom dbghelp を使用して Microsoft シンボル名の装飾を解除しています。で装飾を解除するとUNDNAME_COMPLETE、シンボル名に、私が理解しているように、コンパイラが追加した情報が含まれることがあります。forたとえば、vftable シンボルには、キーワードの後に​​クラス/インターフェース名が続く中括弧ブロックが含まれることがあります。

SomeClass::'vftable'{for 'Foo::Bar'}

"{for 'Foo::Bar'}"名前の部分が何を意味するのか誰か教えてもらえますか?

さらに、これに関するドキュメントを誰かが知っているので、何も見つからないので読むことができます。

どうもありがとう!

4

1 に答える 1

2

クラスSomeClassは多重継承を使用しており、仮想メソッドを持つ複数の基本クラスがあります。したがって、SomeClass複数の vtable が必要です (仮想メソッドを持つ基本クラスごとに 1 つ)。は{for 'Foo::Bar'}、どの vtable を持っているかを示します。この場合、それはFoo::Bar基本クラスの vtable です。

(これは名前から自明のはずです。)

于 2013-02-21T15:43:24.460 に答える