comp.lang.ada
 help / color / mirror / Atom feed
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
------------------------------------




  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