comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada  "library only" compiler ?
Date: Mon, 23 Jul 2012 20:54:54 -0500
Date: 2012-07-23T20:54:54-05:00	[thread overview]
Message-ID: <jukv9k$h1d$1@munin.nbi.dk> (raw)
In-Reply-To: 500AA31F.8060004@obry.net

"Pascal Obry" <pascal@obry.net> wrote in message 
news:500AA31F.8060004@obry.net...
>> 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.

Yes and no. It's like *interfacing* to C, but there is no C code used in 
such interfacing. (The C-language description of the APIs is converted into 
Ada interfaces, and only those are called by the compiler.)

> In fact the Win32 DLL API are in C, same on Linux where
> the lib C is used, no?

The language that the OS is written in is irrelevant, no program can see 
that in any case.

> On Windows you interface to fopen() as done on
> UNIXes I suppose or maybe to an even higher level using OpenFile().

Definitely not. We directly use the Win32 APIs for file functions (and there 
is not one called fopen). The Win32 API is called "CreateFile", and it is 
nothing much like the one from Unix or the one for C.

We have out own abstraction package (called "Basic_IO") that abstracts the 
underlying I/O facilities. Remember, we started out on CP/M and MS-DOS 1.0, 
neither of which had anything remotely like the Unix file operations.

As I mentioned, we don't use any code written in C in our compiler; it's all 
written in Ada or assembler. And we directly interface to the lowest-level 
APIs that the OS defines - Win32 for 32-bit Windows. This matters mainly 
because it means we aren't dragging in runtimes from other compilers - which 
usually allows us to generate programs as small as possible.

                                   Randy.





  parent reply	other threads:[~2012-07-26 14:20 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
2012-07-22  7:04             ` Pascal Obry
2012-07-22 10:17           ` Florian Weimer
2012-07-24  1:54           ` Randy Brukardt [this message]
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
     [not found]   ` <olpj085ii9fpifpligh6jerghoaieiim1d@invalid.netcom.com>
2012-07-20 23:38     ` Patrick
2012-07-21 13:12     ` Niklas Holsti
2012-07-21  0:27   ` Randy Brukardt
2012-07-21  7:36     ` Dmitry A. Kazakov
2012-07-21 13:31     ` 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