Previous: A Simple Example, Up: Building Mixed Ada & C++ Programs
GNAT offers the capability to derive Ada 95 tagged types directly from
preexisting C++ classes and . See “Interfacing with C++” in the
GNAT Reference Manual. The mechanism used by GNAT for achieving
such a goal
has been made user configurable through a GNAT library unit
Interfaces.CPP
. The default version of this file is adapted to
the GNU C++ compiler. Internal knowledge of the virtual
table layout used by the new C++ compiler is needed to configure
properly this unit. The Interface of this unit is known by the compiler
and cannot be changed except for the value of the constants defining the
characteristics of the virtual table: CPP_DT_Prologue_Size, CPP_DT_Entry_Size,
CPP_TSD_Prologue_Size, CPP_TSD_Entry_Size. Read comments in the source
of this unit for more details.