comp.lang.ada
 help / color / mirror / Atom feed
From: John Howard <jhoward@sky.net>
To: Martin Lorentzon <emwson@emw.ericsson.se>
Subject: Re: Dynamic linking using Gnat Ada
Date: 1996/09/05
Date: 1996-09-05T00:00:00+00:00	[thread overview]
Message-ID: <Pine.GSO.3.93.960905115131.12660A-100000@sky.net> (raw)
In-Reply-To: vmk9u9f55f.fsf@emw.ericsson.se


On 5 Sep 1996, Martin Lorentzon wrote:
> I'd like to dynamically link an Ada program using Gnat Ada.
> Is it possible? Any hints on how to?

There is the Ada 95 route and then there are other ways.  The Ada 95 route 
is a "distributed program" where a system may have:
1) a main subprogram on one processor using data store elsewhere; or 
2) many cooperating main subprograms running on the same or different
   processors.

You would use a compiler that supports the Distributed Systems annex in 
order to interface with some underlying communication subsystem.  The
communication subsystem might be provided by an operating system or 
another software product.  GNAT (v3.05) currently does not utilize a 
particular communication subsystem and also none is provided.  According 
to the GNAT v3.05 Features text file:
"ANNEX E. DISTRIBUTED SYSTEMS
  (fully implemented)
  (this refers to the compiler part, stub generation and the pragmas)"

An Ada 95 for OS/2, DOS, or Windows that provides a communication 
subsystem packaged within a prevalent dynamic link library (DLL) format 
would maximize proliferation of support for the Distributed Systems annex.
The 32 bit DLL format is supported by several operating systems.  A DLL is
not dependent upon any particular programming language.

Creating a DLL requires a capable compiler and a linker.  I have not tried 
to use GNU tools to create a DLL.  Because of familiarity I use non-GNU
tools to create DLL's.  Several GNAT for OS/2 users create GNAT programs
that dynamically link with their custom DLL's.

It is possible to ignore the Distributed Systems annex and just use other
ways to enable remote procedure calls (such as linking with custom DLL's).
But the Distributed Systems annex provides more framework than just remote 
procedure calls.  See package System.RPC for details.

-- John Howard <jhoward@sky.net>               -- Team Ada  Team OS/2 --





  reply	other threads:[~1996-09-05  0:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-09-05  0:00 Dynamic linking using Gnat Ada Martin Lorentzon
1996-09-05  0:00 ` John Howard [this message]
1996-09-06  0:00 ` David C. Hoos, Sr.
1996-09-06  0:00 ` Samuel Tardieu
1996-09-07  0:00 ` Jon S Anthony
1996-09-07  0:00 ` Geert Bosch
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox