🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.nativeapi
Article #15335

Re: C++ Builder Executable Size

#15335
From: Remy Lebeau (TeamB)
Date: Thu, 10 Jul 2003 04:58
39 lines
2906 bytes
"Michaelson Eitan" <m_eitan@netvision.net.il> wrote in message
news:3f0ce6eb@newsgroups.borland.com...

> When you compare a VC++ Standard GUI application
> (Win32 application that directly calls CreateWindow()
> act'), with a simple "TForm& Button" Borland
> Application, it's about 10 times as big.

That is because VC++ typically uses runtime libraries that ship with the OS
itself, whereas none of Borland's runtime libraries do at all.  VC++ users
can get away with making their executables appear smaller because they can
disable static linking and utilize the libraries that ship with the OS.
Although you can disable static linking under Borland's compiler as well,
the libraries are not shipped with the OS so you have to distribute them
yourself with your executable, which actually ends up being a bit larger
than if you had static linked in the first place.

However, the executables from both compilers are actually similar in size
when compiled with similar compiler options.  If you were to enable runtime
packages and such under Borland's compiler, the executable size would
shrink.  Likewise, if you enable static linking under VC++, the executable
will grow.

Let's not also forget that you are comparing apples and oranges here, so to
speak.  Or more accurately, an API-only executable to a VCL-enabled
executable.  The VCL is quite a large library.  Even if you use only a piece
of it, you still have to include the entire library.  It is also possible to
create an API-only executable using Borland's compiler and not use the VCL
at all, thus shrinking the executable size a bit just like VC++ does.

> Oh...And yes, the debug data was removed from all the
> compared executables.

That is irrelevant under Borland, because debug info is not stored in the
executable, it is stored in a seprate TDS file.


Gambit
Technical Details
Message-ID: <3f0cf154$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-03!sn-xit-06!sn-xit-09!supernews.com!64.152.100.70.MISMATCH!sjc70.webusenet.com!news.webusenet.com!cyclone.bc.net!logbridge.uoregon.edu!nntp-relay.ihug.net!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail
References: <3f0ce6eb@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10cc67,707d5c1246ac2e9c
X-Google-Attributes: gid10cc67,public
X-Google-ArrivalTime: 2003-07-09 21:57:44 PST
From: "Remy Lebeau \(TeamB\)" <gambit47@yahoo.com>
Newsgroups: borland.public.cppbuilder.nativeapi
References: <3f0ce6eb@newsgroups.borland.com>
Subject: Re: C++ Builder Executable Size
Date: Wed, 9 Jul 2003 21:58:37 -0700
Lines: 41
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
NNTP-Posting-Host: 207.175.226.26
Message-ID: <3f0cf154$1@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1057812820 207.175.226.26 (9 Jul 2003 21:53:40 -0700)
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-03!sn-xit-06!sn-xit-09!supernews.com!64.152.100.70.MISMATCH!sjc70.webusenet.com!news.webusenet.com!cyclone.bc.net!logbridge.uoregon.edu!nntp-relay.ihug.net!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail