From: sk <sk@noname.com>
To: "comp.lang.ada mail to news gateway" <comp.lang.ada@ada.eu.org>
Subject: Re: C code to Ada
Date: Sat, 25 Jan 2003 23:37:03 -0600
Date: 2003-01-25T23:37:03-06:00 [thread overview]
Message-ID: <mailman.28.1043559249.4961.comp.lang.ada@ada.eu.org> (raw)
In-Reply-To: 3E33502D.7030503@noname.com
I didn't explain very well and rereading leaves me confused so,
AM := Ada main
CM := "C" main
ADL := Ada Dynamic Library
CDL := C Dynamic Library
GCC := gcc
DLLI := Dynamic Linking Loading Interface
AM -- part of the gnatmake creates adainit, adafinal
if it wants to dynamically load, it
"with Dynamic_Linking_Loading_Interface"
and uses its functionality.
CM -- needs to call adainit and adafinal if it calls an ADL, but
not a CDL.
ADL -- part of the gnatmake creates an externally callable adainit,
adafinal for the *library* (gnatbind -n)
CDL -- no intrinsic adainit adafinal
GCC -- when building dynamic libraries recognizes or provides
"init" and "fini" (cannot remember which).
DLLI -- when loading an ADL, needs to consider the adainit,adafinal
for the library.
when loading a CDL, adainit and adafinal are not necessarily
present.
The Ada DLLI has its own adainit and adafinal which are incorporated
into the Ada mains adainit and adafinal. These adainit and adafinal
routines should not be wrapped and made available to the calling
routines, gnatmake does this and they become part of the Ada main
adainti and adafinal.
Overall, wrapping "adainit" and "adafinal" is not part of the
DLLI. Whether the functions need wrapping is entirely dependent
upon the library being loaded, not the DLLI.
Also, for DLLI, the "init" and "fini" are red-herrings (not deliberate)
these are only issues for building a dynamic-library, not the loading
of them thru DLLI.
Hopefully this is better
--
--
-- Merge vertically for real address
--
------------------------------------
-- s n p @ t . o
-- k i e k c c m
------------------------------------
next prev parent reply other threads:[~2003-01-26 5:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-20 18:44 C code to Ada chris.danx
2003-01-20 21:33 ` sk
2003-01-20 21:43 ` chris.danx
2003-01-20 22:56 ` James S. Rogers
2003-01-20 23:05 ` chris.danx
2003-01-21 2:17 ` Jeffrey Carter
2003-01-20 23:32 ` sk
2003-01-21 0:56 ` chris.danx
2003-01-21 1:26 ` sk
2003-01-21 15:49 ` Frank J. Lhota
2003-01-22 1:05 ` chris.danx
2003-01-21 2:27 ` Jeffrey Carter
2003-01-21 2:55 ` sk
2003-01-21 19:33 ` Jeffrey Carter
2003-01-21 6:18 ` Simon Wright
[not found] ` <3E2C6B2B.5090600@noname.com>
2003-01-20 21:39 ` sk
2003-01-21 1:23 ` sk
2003-01-25 21:28 ` chris.danx
2003-01-26 2:16 ` sk
2003-01-26 3:04 ` sk
[not found] ` <3E33502D.7030503@noname.com>
2003-01-26 5:37 ` sk [this message]
2003-01-23 8:00 ` sk
2003-01-24 18:03 ` chris.danx
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox