Re: Hello World 217Kb ?

From: Warren W. Gay VE3WWG (ve3wwg_at_NoSpam.cogeco.ca)
Date: 12/07/04


Date: Tue, 07 Dec 2004 09:21:21 -0500

Alex R. Mosteo wrote:
> Freejack wrote:
>> On Tue, 23 Nov 2004 22:31:57 +0100, Adrien Plisson wrote:
...
>>> maybe someone with more experience with GNAT can explain why the C
>>> runtime is still needed.
>>
>> A runtime environment may or may not be necessary(usually NOT) for either
>> Ada or C. I'm currently working on my own space/speed optimized Ada libs
>> for my own projects. Wanna see just how low I can go. Stripping out the
>> runtime is saving plenty of resources, but it's also making me work a bit
>> harder on not screwing up. So beware. ;->
>
> The following excerpt from GNAT reference manual can be of interest:
>
> pragma No_Run_Time
> Syntax: pragma No_Run_Time;
>
> This is a configuration pragma that makes sure the user code does
> not use nor need anything from the GNAT run time. This is mostly useful
> in context where code certification is required. Please consult the GNAT
> Pro High-Integrity Edition User's Guide for additional information.

Just be aware that pragma No_Run_Time comes at a heavy price. You
would have to give up several things, including:

    - The ability to do String & "Some string" & ...
      (this requires a runtime secondary stack)
    - Scalar'Img or type'Image(type) won't compile.
    - Unconstrained array assignments like:
      declare
         S : String := Some_String_Func(Args);
      begin

This list is incomplete, but I found No_Run_Time so restrictive, that
even for O/S projects, I didn't find this to be very useful!

-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg