comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Cc: Randy Brukardt <randy@rrsoftware.com>
Subject: Re: Ada  "library only" compiler ?
Date: Sat, 21 Jul 2012 21:59:38 -0700 (PDT)
Date: 2012-07-21T21:59:38-07:00	[thread overview]
Message-ID: <6ad7682d-0fd7-472d-a305-99074cb4f7d8@googlegroups.com> (raw)
In-Reply-To: <500AA31F.8060004@obry.net>

On Saturday, July 21, 2012 6:39:59 AM UTC-6, Pascal Obry wrote:
> Randy,
> 
>> And of course, the situation on Windows is very different. The basic OS API 
>> (Win32) is defined via a set of DLL interfaces that are consistent across 
>> all modern versions of Windows specifically so binary compatibility is 
>> possible. No C is really required there, either.
> 
> I don't see your point. Interfacing to a DLL is just like interfacing to
> C or whatever.

No, not really. The whole point of dynamic- vs. static-linking [libraries] is that in the case of the former it eliminates the need to recompile [your application] if the underlying DLL's implementation is changed, with static-linking this is not so, any change in the library mandates a recompile/relink of your application.

It's somewhat like the interface/body separate compilation in Ada but applied to the software-system instead of the language/compiler-system.

With interfacing to another language the compiler has to know certain things about that language, most specifically symbol-generation, argument ordering and calling-conventions. {This is the whole reason for the convention pragma.}

> In fact the Win32 DLL API are in C, same on Linux where
> the lib C is used, no? On Windows you interface to fopen() as done on
> UNIXes I suppose or maybe to an even higher level using OpenFile().

Not necessarily. So long as the Win32 API DLL presents the same interface to the world its internals could be ASM, Prolog, Ada, LISP, etc. And so long as the compiler is able to generate calls/returns to properly interface with the DLL the actual language of the compiler doesn't matter either.



  reply	other threads:[~2012-07-25  7:09 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-20 20:05 Ada "library only" compiler ? Patrick
2012-07-20 21:11 ` Niklas Holsti
2012-07-20 21:47   ` Ludovic Brenta
2012-07-20 22:25   ` Peter C. Chapin
2012-07-20 22:51     ` Ludovic Brenta
2012-07-21  0:32       ` Randy Brukardt
2012-07-21 12:39         ` Pascal Obry
2012-07-22  4:59           ` Shark8 [this message]
2012-07-22  7:04             ` Pascal Obry
2012-07-22 10:17           ` Florian Weimer
2012-07-24  1:54           ` Randy Brukardt
2012-07-24 16:50             ` Pascal Obry
2012-07-24 18:01               ` Vasiliy Molostov
2012-07-24 21:30                 ` Pascal Obry
2012-07-25  6:33                   ` Vasiliy Molostov
2012-07-25 23:44                   ` sbelmont700
2012-07-25 23:34               ` Randy Brukardt
2012-07-21 11:05     ` Niklas Holsti
2012-07-20 23:30   ` Patrick
2012-07-21 16:47     ` Niklas Holsti
2012-07-21 17:47       ` Patrick
2012-07-21 19:22         ` Simon Wright
2012-07-21 19:38           ` Patrick
2012-07-21 22:53         ` Brian Drummond
2012-07-22  3:25           ` Patrick
2012-07-22 17:54             ` Brian Drummond
2012-07-22 17:59               ` Brian Drummond
2012-07-22 18:44                 ` Patrick
2012-07-22 21:03                   ` Brian Drummond
2012-07-25 19:10                   ` J-P. Rosen
     [not found]               ` <m2a9yrsbf5.fsf@nidhoggr.home>
     [not found]                 ` <jui36a$hs0$1@dont-email.me>
2012-07-23 10:10                   ` Simon Wright
2012-07-24 10:55                     ` Brian Drummond
2012-07-22 21:25             ` Niklas Holsti
2012-07-22 22:00               ` Patrick
2012-07-22 21:18         ` Niklas Holsti
2012-07-21  0:27   ` Randy Brukardt
2012-07-21  7:36     ` Dmitry A. Kazakov
2012-07-21 13:31     ` Niklas Holsti
     [not found]   ` <olpj085ii9fpifpligh6jerghoaieiim1d@invalid.netcom.com>
2012-07-20 23:38     ` Patrick
2012-07-21 13:12     ` Niklas Holsti
2012-07-23  5:02 ` Miles Bader
replies disabled

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