From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Dispatching callback handed over to C
Date: Tue, 3 Apr 2012 07:42:49 -0700 (PDT)
Date: 2012-04-03T07:42:49-07:00 [thread overview]
Message-ID: <85d1ad51-c02b-44fa-87b6-02aa1d8ba1b2@x17g2000vba.googlegroups.com> (raw)
In-Reply-To: slrnjnlpmo.1lme.lithiumcat@sigil.instinctive.eu
On 3 Kwi, 14:02, Natasha Kerensikova <lithium...@gmail.com> wrote:
> But still, I can't help but think there is one needless subprogram call
> in that solution. With a way to obtain the address of the actual
> subprogram the dispatching call would dispatch to, the address could be
> handed over to C code so that it can call it directly.
Then the target operation would need to have a C calling convention.
Since one of the reasons to do OO is to allow users to extend the
system with new operations (new implementations), this requirement
would be a limitation.
The indirection allows to completely isolate the user from such
details.
> Actually it uses the assumption that System.Address and void* have the
> same representation.
>
> I wonder how reliable the assumption is.
Whenever Ada and C (or C++) components are linked together, a set of
"friendly" compilers is needed, so that basic binary compatibility can
be guaranted - otherwise nothing is going to work at all, not even
Interfaces.C.int. :-)
This assumption is pretty safe.
--
Maciej Sobczak * http://www.inspirel.com
next prev parent reply other threads:[~2012-04-03 14:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-03 7:19 Dispatching callback handed over to C Natasha Kerensikova
2012-04-03 9:04 ` Brian Drummond
2012-04-03 9:21 ` Thomas Locke
2012-04-03 9:37 ` Maciej Sobczak
2012-04-03 12:02 ` Natasha Kerensikova
2012-04-03 14:42 ` Maciej Sobczak [this message]
2012-04-03 20:20 ` Randy Brukardt
2012-04-04 7:26 ` Georg Bauhaus
2012-04-04 7:56 ` Natasha Kerensikova
2012-04-04 19:28 ` Randy Brukardt
2012-04-05 8:59 ` Natasha Kerensikova
2012-04-05 21:04 ` Randy Brukardt
2012-04-04 19:55 ` Simon Wright
2012-04-04 11:34 ` Maciej Sobczak
2012-04-04 19:16 ` Randy Brukardt
2012-04-05 7:28 ` Maciej Sobczak
2012-04-05 21:32 ` Randy Brukardt
2012-04-07 8:55 ` Natasha Kerensikova
2012-04-07 11:32 ` Simon Wright
2012-04-07 13:28 ` Robert A Duff
2012-04-05 9:13 ` Natasha Kerensikova
2012-04-05 21:06 ` Randy Brukardt
2012-04-06 7:30 ` Maciej Sobczak
2012-04-06 11:41 ` Simon Wright
2012-04-10 7:15 ` Maciej Sobczak
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox