From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID,XPRIO autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,29f01dc1362fc545,start X-Google-Attributes: gid103376,public From: "Randy" Subject: huge executable Date: 2000/05/14 Message-ID: #1/1 X-Deja-AN: 623248512 X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 X-Complaints-To: newsabuse@supernews.com Organization: Posted via Supernews, http://www.supernews.com X-MSMail-Priority: Normal Newsgroups: comp.lang.ada Date: 2000-05-14T00:00:00+00:00 List-Id: The GNAT Ada compiler embeds code for the "Runtime Environment" (RTE) with every program. The RTE is (kind of) like the Java Virtual Machine. It doesn't translate bytecode but works with the O/S and your executable for things like multi-tasking. There is more in the Ada Ref Manual and I'm sure someone else in this group knows more than I. There is another compiler called GNORT (Gnu with NO Run Time) that will not link in the RTE. Honestly, though, for a large program the overhead of the RTE becomes negligible. Hope this helps... Randy ----- Original Message ----- From: David Dousette Newsgroups: comp.lang.ada Sent: Saturday, May 13, 2000 7:04 PM Subject: huge executable?? > I'm using the OS/2 version of GNAT 3.12p, and as I'm still new to Ada, I > thought I'd take a stab at a "Hello World!" program, without my handy > book... got it on the second try, stupid semicolon... anyway, my > question was why is the executable so large? Here's the code: > > -------------------------------------------------------------------- > with Ada.Text_IO; > > procedure Hello is > > begin > Ada.Text_IO.Put("Hello World!"); > Ada.Text_IO.Flush; > end Hello; > -------------------------------------------------------------------- > > I compiled it with the command line "gnatmake hello.adb" and the > executable generated was a little over 250,000 bytes! I ran it through > "emxbind -s" (as suggested by R. Dewar) to strip out all the debugging > stuff, but it's still 126,000 bytes.... why? I wrote a similar program > in C, and it was less than 5,000 bytes... why is the .EXE produced by > Ada so much bigger? The executable runs fine, and I have plenty of hard > drive space... I was just curious. > > Thanks, > David >