2016-10-25 1 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

@ k크 : 그러니깐 :) –