クラスに少なくとも1つの仮想関数が含まれている場合、クラスにはVTABLE
があることを理解します。私はVTABLE
の内容を見たいと思います。それを表示する方法はありますか?GCCを通してC++クラスのVTABLEを表示する方法は?
具体的には、gcc
には、クラスのVTABLE
を表示するオプションがありますか?
クラスに少なくとも1つの仮想関数が含まれている場合、クラスにはVTABLE
があることを理解します。私はVTABLE
の内容を見たいと思います。それを表示する方法はありますか?GCCを通してC++クラスのVTABLEを表示する方法は?
具体的には、gcc
には、クラスのVTABLE
を表示するオプションがありますか?
入力ファイルがlayout.cpp
の場合、gcc -fdump-class-hierarchy layout.cpp
というコマンドはファイルlayout.cpp.class
を生成します。このファイルにはVTABLEと他の有用な情報が表示されます。
これは実際にはvテーブル(これはコンパイラに依存し、標準では必須ではない)を想定すると、デバッガで検査することができます。
なぜあなたはそれをしますか?好奇心以外のものに頼っているのであれば、はではありません。
はい、好奇心ではありません。 vtableを表示するgccにオプションがありますか? –
@LinuxPenseurあなたはgdbを意味する必要があります。知りません。私は、Visual Studioでクラスを検査しているときに、それが一度表示されていることを知っていました。私はgccがどのシンボルに付いているか、あなたがそのシンボルを見つけることができるかどうかによって異なります。 – littleadv
gccを使うべきか、g ++をC++ – user2760375
g ++に使うべきですか?g ++ではなくg ++です。 – sagar