2016-10-25 7 views
4

GCC/VCのような一般的な実装では、ポリモーフィックオブジェクトの最初のsize_tスペースをポインタとして使用し、vtable構造体を指しています。これは最新のC++ ABIの一部ですか?C++のABIは、vTableとRTTI情報の存在方法を指定していますか?

RTTIインプリメンテーションについて、C++ ABIは実装方法を指定しますか? ありがとう

+3

私が知っている限り、C++は一様なC++ ABIを持っていません。私はあなたがコンパイラからコンパイラまでそれを読む必要があると思う。コンパイラの人じゃない。 –

+0

標準では、仮想関数またはRTTIの実装を指定していません。したがって、ABIは義務付けられていません。 – StoryTeller

+0

私はそれが最初の 'size_t'スペースだとは思いません。おそらく最初の 'void *'スペースか、おそらく最初の 'intptr_t'スペースです。 – Angew

答えて

8

いいえ、C++標準では、これを実装する方法を指定していません。単一のC++ ABIはありません。

+0

@ヤク:そうです:) –

関連する問題