I believe I can summarize this way:
The short answer is that Ada95 and C++ are compatible. The longer answer is
that the effort required depends on the choice of compilers for both Ada and
One of the major issues is the C++ name mangling (to resolve overloading),
which is done differently by different compilers.
For example, if you're using gnat, then if the C++ code is done with the gnu
g++ compiler, then the job is easier than it is if the C++ is done with,
say, the Microsoft C++ compiler. The gnat implementation has some special
pragmas for simplifying the job.
On the other hand, the Aonix compiler is easier to interface with Microsoft
My question, though, is this -- if you are only developing for the Win32
platform, have you considered the all-Ada95 thick binding to the Win32 API
from RR Software, called Class Library for Ada Windows (CLAW). The URL for
CLAW information is http://www.rrsoftware.com/claw.htm
If your GUI needs are just for the usual kinds of windowing objects, then
CLAW is a great solution.
David C. Hoos, Sr.
From: Vantreese, Gregory W. <[log in to unmask]>
To: [log in to unmask] <[log in to unmask]>
Date: Friday, January 23, 1998 7:48 AM
Subject: Ada and C++ on NT
>Can anyone point me to information on using Ada together with C++ on
>Windows NT? The reason that I need to know is that someone here has
>spread the opinion that Ada and C++ runtimes are incompatible, so one
>cannot use Ada with C++ in the same program on NT. I am sure that is
>not true, but I cannot find any evidence as I am not (yet) an NT
>developer. This question has come up in early planning on a project in
>which certain parts (mainly small prototype GUI sections) may be
>developed in C++, while other parts (algorithms, data manipulation) will
>be written in Ada 95. Plans are for the final full-scale development to
>be completely in Ada 95.
>Sorry if this seems inappropriate on this list, but I don't have news
>access from work, and this <is> an Ada advocacy issue. I need to
>quickly reply before someone says, "Oh, Ada is incompatible, so let's
>just do the whole thing in C++."
>Thanks in advance,
>Raytheon Technical Services Company